다형성(Polymorphism)

Nak Jun Choi·2022년 11월 8일

다형성이란?

  • 하나의 객체가 여러 가지 형태를 가질 수 있는 성질을 의미한다.
  • 자바에서 다형성은 한 타입의 참조변수를 통해 여러 타입의 객체를 참조할 수 있도록 만든 것을 의미한다.
  • 참조변수가 사용할 수 있는 멤버의 개수는 상위 클래스의 멤버의 수가 된다.
  • 하위 클래스 타입으로 상위 클래스의 타입의 객체를 참조할 수 없다.

참조변수의 타입 변환

  • 참조 변수의 타입 변환은 다르게 설명하면 사용할 수 있는 멤버의 개수를 조절하는 것을 의미한다.
  • 타입 변환을 위한 3가지 조건
    • 서로 상속관계에 있는 상위 클래스 - 하위 클래스 사이에만 타입 변환이 가능하다.
    • 하위 클래스 타입에서 상위 클래스 타입으로의 타입 변환(업캐스팅)은 형변환 연산자()를 생략할 수 있다.
    • 반대로 상위 클래스에서 하위 클래스 타읍으로 변환(다운 캐스팅)은 형변환 연산자 ()를 반드시 명시해야 한다.

instanceof 연산자

  • 캐스팅이 가능한 지 여부를 boolean타입으로 확인할 수 있는 자바의 문법요소이다.
  • 참조_변수 instanceof 타입 true일 경우 타입 변환이 가능하다.
  • 참조 변수가 null일 경우에 false를 반환한다.
profile
HelloWorld

0개의 댓글