Chapter7. 상속_1

박경희·2023년 6월 6일
0

공부를 해보자

목록 보기
13/38


업로드중..

7-2 타입 변환과 다형성

  • 다형성 : 사용 방법은 동일하지만 다양한 객체를 이용해서 다양한 실행결과가 나오도록 하는 성질이다.

자동 타입 변환

  • 프로그램 실행 도중에 자동적으로 타입 변환이 일어나는 것이다.
  • 자식은 부모 타입으로 자동 타입 변환이 가능하다.
  • 참조 변수의 == 연산은 참조 번지가 같을 경우 true를 산출하므로 두 변수가 동일한 객체를 참조하고 있는지 확인해볼 수 있다.
    *잘 이해가 안갔는데 그림과 설명을 보고 조금 이해가 갔다! 점점 어려워진다..@@
  • child 객체는 method3()메소드를 가지고 있지만, Parent 타입으로 변환된 후에는 method3()을 호출할 수 없다. 그러나 method2() 메소드는 부모와 자식 모두에게 있다. 이렇게 재정의된 메소드는 타입 변환 후에도 자식 메소드가 호출된다.

강제 타입 변환

  • 부모 타입을 자식 타입으로 변환하는 것이다.
  • 자식 타입이 부모 타입으로 자동 타입 변환한 후 다시 자식 타입으로 변환할 때 강제 타입 변환을 사용할 수 있다.
  • 강제 타입 변환은 자식 타입이 부모 타입으로 변환되어 있는 상태에서만 가능하기 때문에 처음부터 부모 타입으로 생성된 객체는 자식 타입으로 변환할 수 없다.
    -> instanceof연산자를 사용하면 어떤 객체가 어떤 클래스의 인스턴스인지 확인할 수 있다.
instancelf연산자의 좌항에는 객체가 오고 우항에는 타입. 좌항의 객체가 우항의 인스턴스이면, 
즉 우항의 타입으로 객체가 생성되었다면 true를 리턴하고 그렇지 않으면 false를 리턴한다.

			boolean result = 좌항(객체) instanceof 우항(타입)

마무리

  • 문제 다 맞았다~~~!! 다음 챕터도 화이팅~!

0개의 댓글