1. 다형성(polymorphism) 이란
- 하나의 객체가 여러 자료형 타입을 가질 수 있는 것을 다형성(polymorphism)이라고 한다.
- 부모 클래스의 참조변수로 자식 클래스 타입의 인스턴스를 참조할 수 있다.
- 오버라이딩은 상속을 통해 같은 이름의 메소드를 서로 다른 내용으로 구현한다는 점에서
객체 지향의 다형성을 실현한다고 볼 수 있다.
2. instance of 연산자
- 자바에서는 참조변수가 참조하고있는 인스턴스가 어떤 클래스인지 구분하기위해 instance of 염산자를 사용한다.
- instanceof는 다음과 같이 사용된다.
참조변수 instance of 클래스명 |
- 왼쪽 참조변수가 참조하고 있는 인스턴스 타입이 오른쪽의 클래스와 같으면 true를 반환하고, 아니면 false를 반환한다.
- 참조변수가 null을 가리키면 false를 반환한다.
3. 캐스팅(Casting)이란
: 타입을 변환하는 것을 의미하며 형변환이라고도 한다. 부모와 자식 클래스간(상속된 관계)에 서로 형변환이 가능하다.
- 업캐스팅(Upcasting)
: 업캐스팅이란 차식 클래스의 객체가 부모 클래스 타입으로 형변환 되는 것을 말한다.
- 다운캐스팅(Downcasting)
: 업캐스팅 된 것을 다시 원상태로 돌리는것을 다운캐스팅이라고 하며
다운캐스팅을 위해서는 반드시 업캐스팅이 선행 되어야 하며 타입을 명시적으로 지정해줘야한다.
'JAVA > JAVA2' 카테고리의 다른 글
[java2] #06 - 인터페이스 (interface) (0) | 2022.07.13 |
---|---|
[java2] #05 - 추상클래스(abstract class) (0) | 2022.07.11 |
[java2] #04 - 익명클래스(Anonymous class) (0) | 2022.07.09 |
[java2] #02 - getter, setter, this 키워드 (0) | 2022.07.09 |
[java2] #01 - public, protected, private, default (접근제어자) (0) | 2022.07.06 |