다형성
- 하나의 타입이나 메소드가 여러 타입이나 메소드들을 가지거나실행하는 능력
- java에서는 상속을 통해서 다형성 구현
- 업 캐스팅
- 다운 캐스팅(= 강제 형변환)
- instanceof
- 객체 타입(선언된 클래스)을 확인하는 연산자
- 형변환 여부를 boolean 값으로 반환
- 사용 : 객체 instanceof 클래스
다운 캐스팅
// Animal : 부모 클래스
// Cat, Dog : 자식 클래스
// 가능
Animal animal1 = new Cat();
Cat cat1 = (Cat) animal1;
// 불가능
Aniaml animal2 = new Animal();
Cat cat2 = (Cat) animal2;
// 불가능
Animal animal3 = new Cat();
Dog dog1 = (Cat) animal3;
// 불가능
Animal animal4 = new Cat();
Dog dog2 = (Dog) animal4;
final
- 변수 : 값 수정 X
- 메서드 : 오버라이딩 X
- 클래스 : 상속 X