728x90

상속 4

[ Kotlin ] 기본문법 3 상속, 람다, 익명 함수

[ Kotlin ] 기본문법 3 상속, 람다, 익명 함수 1. 상속 // 상속을 가능하게 하려면 open을 써야 한다 // 클래스, 변수, 함수 모두 open을 써야 한다 open class User1(name:String){ // 매개변수에 var를 붙여 멤버변수로 생성이 가능하다 open var name = "lee" // 멤버변수를 클래스 안에 생성 가능하다 //constructor(name:String){ // 생성자를 직접 넣거나 init{ // init 사용 println("specialUser.. ${this.name}.. $name") this.name = name println("specialUser.. ${this.name}.. $name") //this.name = name } ope..

Front-End/Kotlin 2024.04.05

JAVA 상속과 다형성

JAVA 상속과 다형성 다형성 : 다양한 형태가 존재한다. 단순하게 만들어 준다는 뜻 활용 : 다양한 참조 변수를 가지는 객체의 배열, 여러 종류의 매개변수 받기 업 캐스팅 : 허용 O, 자동으로 형 변환시켜준다 Person P = new UnivStudent(); Person P = (Person)(new UnivStudent()); // 자동 실행 다운 캐스팅 : 허용 X, 업 캐스팅 후 다운 캐스팅만 허용한다 즉, 원래 내 타입으로 돌아오는 것만 허용한다 -instanceof 연산자로 타입 확인하기 -object 클래스는 모든 클래스의 super 클래스로, 모든 객체를 가리킬 수 있다. -자식 객체의 상속받지 않은 멤버에 접근하기 위해서는 반드시 다운 캐스팅되어야 한다. public class Pe..

JAVA Method Overriding 자바 메서드 오버 라이딩

JAVA Method Overriding 자바 메서드 오버 라이딩 메서드 오버 라이딩 super 클래스에서 상속받은 멤버를 sub 클래스에서 다시 정의하는 것이다. 기존의 멤버를 요구사항에 맞게 수정하는 효과를 가진다. super 클래스에서와 동일한 형태로 정의한다. super 클래스에서 상속된 멤버는 은폐되어 sub 클래스 객체의 메서드에서 은폐된 멤버에 접근하기 위해서는 super 참조 변수를 사용해야 한다. 오버 라이딩과 오버 로딩을 헷갈리지 말자. 구분 오버라이딩(재정의) 오버로딩(다중정의) 접근제한 부모의 멤버 함수보다 자식 멤버 함수의 접근제한이 비슷하거나 더 넓어야 한다. 상관없다. 반환형 같아야 한다. 상관없다. 메서드명 같아야 한다. 같아야 한다. 인자 (타입 / 개수) 같아야 한다. 반..

JAVA 클래스 상속

JAVA 클래스 상속 클래스 상속 관계 자바 프로그래밍에서 클래스를 상속하게 된 배경은 비슷한 동작을 하는 서로 다른 객체들을 위해 포괄적인 속성과 행위를 갖도록 구현하기 위해서이다. 비슷한 내용의 클래스가 반복되면 비효율적이기 때문에 상속을 통해 비슷한 행위에 대해 서로 다른 인터페이스를 가질 수 있다. 상속관계는 특정 클래스가 가지는 일부 속성과 행위를 다른 클래스에게 제공하기 위해 맺는 관계이다. 기존 클래스의 멤버를 그대로 이용하면서 새로운 멤버를 추가할 수 있고, 기존 클래스의 멤버를 수정하여 사용하는 것도 가능하다. 상속의 이점 코드를 재사용하여 유지보수가 용의 하고 비슷한 코드를 다시 사용할 수 있다. 그리고 연관된 일련의 클래스에 대한 규약을 정의해 비슷한 유형을 묶어 클래스 객체 간의 동..

728x90