상속

    자바 상속 - 클래스 타입 변환

    타입 변환 기본적으로 up-casting만 가능, 필요시 자동 변환 됨. 자식 클래스는 부모 클래스 타입으로 사용될 수 있다. 자식 클래스는 기본적으로 부모 클래스의 모든 필드와 메서드 요소를 가지고 있기 때문에 자동 타입변환이 되어도 지장이 없다. 참조 변수 p의 선언 타입 참조변수 p의 실제 타입 참조 변수 선언에 사용된 타입, Animal 객체 생성에 사용된 클래스, Human 호출 가능한 메소드 집합을 결정 실제 호출될 클래스를 결정 p.eat() 호출 가능 p.eat() / Human의 eat()이 호출 됨 p.think() 호출 불가능 Human의 think() 호출하려면 (Human)p.think() 강제 타입 변환(Casting) 부모 타입을 자식 타입으로 변환하는 것. 자식 타입이 부모 ..

    자바 상속 - super, this 예제

    상속 한 클래스가 기존 클래스의 모든 member를 물려받는 것. (생성자는 멤버에 속하지 않음) - 클래스의 멤버 = 변수, 메소드, 중첩 클래스 선언 class 서브클래스 extends 슈퍼클래스 -모든 클래스는 오직 하나의 direct superclass를 가짐(단일 상속) -명시적으로 상속하지 않는 경우 최상위 클래스인 java.lang.Object가 슈퍼클래스 class 서브클래스 extends 슈퍼클래스{ -새로운 멤버 추가 -상속한 메소드 재정의 -추상 메소드 구현 -생성자 } (final class는 상속할 수 없음, final method는 재정의 할 수 없음) 슈퍼클래스 멤버 참조 상속한 슈퍼클래스 멤버 접근 public, protected, default - 직접 접근 가능 priva..