상속
상속의 특성
Method Overriding [포함된 것이 포함 시킨 것을 가르킬 수 있다]
부모 : 자식 관계로 이루어진 클래스 사이에서 부모 Class의 Method를 재정의 하여 사용할 때 정의되는
기술로써, 부모 Class가 소유한 Method의 이름, 반환 타입, 매개변수가 같은 경우에만 사용할 수 있는 기술.
객체 지향 언어에 있어 가장 중요한 개념 중 하나이다. 또한 추상화, 다형성, 캡슐화, 상속의 특성을 갖는다. (Overriding은 다형성 에서 사용이 되는 개념)
Method Overriding 02
참조 변수의 참조 가능성
Method Overriding
Example
1. Cake c1 = new CheeseCake() 선언.
2. c1.yummy();
3. Overriding을 통해 구현 된 c1 참조 변수는 자식 Class의 yummy Method()를 호출한다.
Class Cake {
public void yummy(){...}
}
Class CheeseCake extends Cake {
public void yummy(){...}
}
Class StrawBerryCheeseCake extends CheeseCake {
public void yummy(){...}
}
public static void main(String[] args){
Cake c1 = new StrawBerryCheeseCake();
CheeseCake c2 = new StrawBerryCheeseCake();
StrawBerryCheeseCake c3 = new StrawBerryCheeseCake();
c1.yummy();
c2.yummy();
}
InstanceOf [true, false]
//cake가 참조하는 그 인스턴스 Cake 참조변수로 참조 가능해?
if(cake instanceof Cake){...}
//cake가 참조하는 그 인스턴스 CheeseCake 참조변수로 참조 가능해?
if(cake instanceof CheeseCake){...}
//cake가 참조하는 그 인스턴스 StrawberryCheeseCake 참조변수로 참조 가능해?
if(cake instanceof StrawberryCheeseCake){...}
프로그램을 구축하는 과정
1. 안정성
2. 확장성
Object
클래스, Method final 선언
Class
public final class MylastCLS(){...}
Method
public final void func(){...}