다형성에 대해 알아보자
그전에 ㅎㅎ
instanceof
● 이 데이터 타입이 니것이느냐~ true or fasle
● 방법 = 확인하고 싶은 객체 instanceof 객체타입
다형성
● 하나의 코드가 여러 자료형으로 구현되어 실행되는 것
● 같은 코드에서 여러 다른 실행 결과가 나옴
● 정보은닉, 상속과 더불어 객체지향 프로그래밍의 가장 큰 특징 중 하나임
● 다형성을 잘 활용하면 유연하고 확장성있고, 유지보수가 편리한 프로그램을 만들수 있음
ex ) 참조클래스[] ... = new 부모객체클래스[배열갯수]
참조클래스[0] = new 자식객체클래스(매개변수); ...
결과 ↓
업 캐스팅과 다운 캐스팅
업캐스팅(Up casting) 이란?
● 하위 클래스의 객체를 상위 클래스 타입을 변환하는것
● 이 경우 데이터 손실이 없으며 업캐스팅은 자동적으로 이루어져 별도의 형변환이 필요 없음
● 업캐스팅이 된 상태에서는 컴파일시점만 확인한다!!
다운 캐스팅(Down casting)이란?
● 업캐스팅된 객체를 다시 원래의 하위 클래스 타입으로 변환하는것
● 이 경우 수동적으로 형 변환 연산를 사용하여 이루어진다.
따라서 Bird 클래스에 있는 변수 , fly메소드등은 업캐스팅된 Animal 참조타입에서는 쓸수가 없고
다운캐스팅을 통해 Bird 참조타입으로 바꾼후 호출이 가능하다
예시 )
결과 ↓
'JAVA' 카테고리의 다른 글
JAVA - String (상수 풀 영역) (0) | 2023.08.10 |
---|---|
JAVA - 추상클래스 (0) | 2023.08.10 |
JAVA - 상속 (0) | 2023.08.07 |
JAVA - 1차원 배열 (0) | 2023.08.04 |
JAVA - static , 싱글톤 패턴 (0) | 2023.08.03 |