다형성은 자바의 객체지향 개념을 관통하는 아주 중요한 개념이다.
다형성의 정의는 다음과 같다.
하나의 객체가 내부적으로 여러 타입을 가질 수 있고,
어떤 타입이 들어 있느냐에 따라 각기 다른 동작을 하는 성질을 의미한다.
예를들어 Car라는 인터페이스를 정의했다고 가정한다.
그리고 이 인터페이스를 구현하는 Sonata클래스와 Avante클래스를 각각 정의했다.
그렇다면, 인터페이스인 Car 타입의 참조변수에 이것의 구현체인 Sonata와 Avante의 인스턴스를 모두 대입할 수 있는데
이것을 가능하도록 하는 특성이 바로 다형성이다.
이 예시를 부모클래스-자식클래스 상황에 비교하여도 다형성은 동일하게 적용된다.
즉, 인터페이스(혹은 부모클래스) 의 참조 변수로 구현 클래스(혹은 자식클래스) 의 인스턴스를 넣어 사용할 수 있다.
'JAVA' 카테고리의 다른 글
equals() (0) | 2024.11.01 |
---|---|
컬렉션 : List (0) | 2024.11.01 |
Cache, RAM, HDD/SSD (0) | 2024.10.14 |
JVM의 영역별 저장 (0) | 2024.06.29 |
오버로딩/오버라이딩 (0) | 2024.06.22 |