다향성(Polymorphism)
프로그램 언어의 다형성은 그 프로그래밍 언어의 자료형 체계의 성질을 나타내는 것으로, 프로그램 언어의 각 요소들(상수, 변수, 식, 오브젝트, 함수, 메소드 등)이 다양한 자료형(type)에 속하는 것이 허가되는 성질을 가리킨다. 반댓말은 단형성으로, 프로그램 언어의 각 요소가 한가지 형태만 가지는 성질을 가리킨다.
업 캐스팅
- 하위 객체는 상위 클래스형 변수에 대입이 가능, 상위로의 자료형 변환을 합니다.
- 업 캐스팅은 하위 클래스는 상위 클래스라는 개념이 성립합니다.
업 캐스팅의 제약
- 업 캐스팅된 변수로는 하위 객체의 멤버를 참조할 수 없는 제약이 있습니다.
- 상위클래스의 변수는 하위 클래스를 접근 지정자만 허용한다면 접근이 가능합니다.
다운 캐스팅
- 상위 클래스 형을 하위 클래스 형으로 변환
- 다운 캐스팅은 반드시 명시적인 형변환 연산자 (하위 클래스)가 필요합니다.
- 만일 형변환 연산자가 없으면 컴파일 시간에 오류가 발생합니다.
형변환 연산 방법
클래스자료형 변수 = (클래스자료형) 상위 클래스자료형 객체;
객체 확인 연산자
instanceof 연산자
- 피연산자1 instanceof 피연산자2
- 피연산자1이 객체변수가 참조하는 객체가 실제 피연산자2 클래스 이름이면 true, 아니면 false를 반환합니다.
- 상속관계가 없으면 문법 오류 발생합니다.
'Programming Language > Java' 카테고리의 다른 글
추상 클래스(Abstract Class) (0) | 2023.05.17 |
---|---|
오버라이딩(Overriding) / 오버로딩(Overloading) (0) | 2023.05.17 |
상속(Inheritance) (0) | 2023.05.17 |
클래스(Class) & 객체(Object) (0) | 2023.05.17 |
객체지향 프로그래밍(Object Oriented Programing) (0) | 2023.05.17 |