상속(1)

mtak·2021년 4월 8일
0

Spring Study

목록 보기
3/13

학습 범위 : 229 - 276p

  • static메소드의 제약조건
    컴파일 단계에서 객체 생성 전 클래스 로딩 할 때 메모리에 올라가게 하는 static의 특성을 생각했을 때 nonstatic 멤버들을 참조할 수 없는 점이나 this(객체를 가리킴)과 함께 사용할 수 없는 점은 당연한 것 같다.

  • final
    final + class = 고자?!?!(상속 x)
    final + method = 유일무이 (상속에서 오버라이딩 X)
    final + field = const

  • 상속

👍부모 클래스 접근지정

접근 지정자desc
private같은 클래스
default같은 pkg
public공용
protecteddefault + SubClass

👍서브 클래스에서 객체 생성할 때 서브에서 부모로 생성자가 호출되고, 부모에서 서브로 실행되며 super()로 호출할 부모 생성자를 정해놓는게 원칙이라는 점이 흥미로웠다.

👍다운캐스팅을 하려면 업케스팅을 했다가 해야한다니... 어쩐지 instanceof연산자 결과가 이상하다 했다. 업캐스팅하면 어차피 이전 서브클래스의 extended필드는 못쓰는데 instanceof연산자에서 true가 왜 나오나 했다. 다운캐스팅 전에 널가드 처럼 확인하려고 했구나..

Person tak1
Student tak2 = new Student();
tak1 = tak2;
Person lee1 
Researcher lee2= new Researcher();
lee1 = lee2;

tak1 instanceof Person; //true
tak1 instanceof Student; //false
profile
노는게 젤 조아. 친구들 모여라!!

0개의 댓글