1. 다형성
- 한 객체가 여러 가지 타입을 가질 수 있는 것
- 부모 클래스 타입의 참조 변수로 자식 클래스 인스턴스
2. instanceof
- 실제 참고하고 있는 인스턴스의 타입 확인
class Person{}
class Student extends Person{}
// Student s1 = new Person(); 과 같이 하위타입에 상위 타입을 넣을 수 없다.
Person p1 = new Student(); // 업 캐스팅
Student s1 = (Student) p1; // 다운 캐스팅
// 변수 instanceof 타입 , 변수가 타입의 인스턴스인지 알려줌
System.out.println(p1 instanceof Person); // true
* 이거 관련해서는 SOLID 원칙의 LSP가 있다.
* 후에 인터페이스 쓸 때도 이런식으로 상위 타입으로 변수를 두고 하위타입으로 부품을 갈아끼우듯이 해서 다형성을 적극 활용할 수 있다.
'JAVA > JAVA 기초' 카테고리의 다른 글
인터페이스 (Interface) (0) | 2022.03.29 |
---|---|
추상 클래스 (Abstract Class) (0) | 2022.03.29 |
상속(Inheritance) (0) | 2022.03.28 |
클래스와 객체 (0) | 2022.03.28 |
다차원 배열 (0) | 2022.03.28 |
댓글