2012년 5월 31일 목요일

Inheritance

Inheritance(상속) : 이미 존재하는 클래스로부터 변수와 메소드를 물려받아 새로운 클래스를 만드는 것을 말 함
하위 클래스는 자신만의 변수와 메소드를 추가할 수도 있으며 상위 클래스의 메소드를 재 정의하여 사용할 수도 있다. 하지만 하위 클래스가 상위 클래스의 모슨 변수와 메소드를 상속 받는 것은 아니다. 같은 패키지 내에서는 상위 클래스의 접근 제한자 public, protected, default로 선언된 변수나 메소드를 상속 받을 수 있으며 다른 패키지 내에서는 public, protected로 선언된 변수나 메소드를 상속 받을 수 있다.
Sub Classing(서브 클래싱) : 클래스를 상속 받는데 사용 받는 키워드는 extends 이며 이 키워드를 통해 상속 받는 것을 말한다.
다중 상속하려면 인터페이스를 이용하여 implements(구현) 해야 하며 이를 Sub typing
방 법
예 제
결 과
상위 클래스 = 상위 클래스
A a = new A();
성공
상위 클래스 = 하위 클래스
A a = new B();
성공
하위 클래스 = 하위 클래스
B b = new B();
성공
하위 클래스 = 상위 클래스
B b = new A();
컴파일 오류
상위 클래스 = (하위 클래스) 상위 클래스
A a = new A();
B b = new B();
A = (B) a;
런타임 오류
상위 클래스 = (상위 클래스) 하위 클래스
A a = new A();
B b = new B();
a = (A) b;
성공
하위 클래스 = (하위 클래스) 상위 클래스
A a = new A();
B b = new B();
b = (B) a;
런타임 오류
하위 클래스 = (상위 클래스) 하위 클래스
A a = new A();
B b = new B();
b = (A) b;
컴파일 오류
A : 상위 클래스, B : 하위 클래스
6.4 has a/ is a Relationship(관계)
has a Relationship(관계) : 객체의 멤버를 의미함 (객체 안의 변수, 메소드 등을 말함)
is a Relationship(관계) : 어떤 객체들 간의 상속 관계를 나타냄 (extends 키워드로 확인 가능)

댓글 없음:

댓글 쓰기

국정원의 댓글 공작을 지탄합니다.

UPBIT is a South Korean company, and people died of suicide cause of coin investment.

 UPBIT is a South Korean company, and people died of suicide cause of coin. The company helps the people who control the market price manipu...