▶ 다형성
상속을 이용해 부모 타입으로부터 파생된 여러 가지 타입의 자식 객체를 부모 클래스 타입 하나로 다룰 수 있는 기술
■ 다형성을 사용하는 이유
1. 생산성을 위해서
2. 부모타입의 객체배열로 다양한 자식들을 받아줄 수 있다.
=> 부모타입 하나만으로 모든 자식객체들을 다룰 수 있다.
3. 메서드의 매개변수나 반환형에도 다형성을 적용하게 되면 메서드 개수가 확 줄어든다.
■ 다형성의 장점
- 유지보수가 좋다.
- 생산성이 증가한다.
■ 클래스 형변환
1. UpCasting
자식 타입 => 부모 타입으로 형변환할 때 생략이 가능하다.(자동형변환)
ex) 자식객체.부모메서드();
부모 참조변수 = 자식객체();
2. DownCasting
부모 타입 => 자식 타입으로 형변환할 때 생략이 불가능하다.(강제 형변환 해야 한다.)
ex) ((자식)부모).자식메서드();
■ 동적바인딩
프로그램이 실행되기 전에 자동으로 컴파일되면서 정적바인딩(참조변수의 메서드를 가리킴)
■ instanceof 연산자
현재 참조변수가 실제로 어떤 클래스 타입의 객체를 참조하고 있는지 확인할 때 사용한다.
true / false 값을 반환한다.
■ ClassCastException
클래스 형변환이 잘못되었을 경우 발생하는 에러
'JAVA' 카테고리의 다른 글
JAVA(16) 인터페이스 (0) | 2023.04.08 |
---|---|
JAVA(15) 추상클래스와 추상메서드 (0) | 2023.04.08 |
JAVA(13) 객체(Object) (2) (0) | 2023.04.04 |
JAVA(13) 객체(Object) (0) | 2023.04.02 |
JAVA(12) 2차원 배열 (0) | 2023.03.31 |