1. 자바의 가장 중요한 특징은?
객체 지향 프로그래밍의 특징 4가지를 물어본다면 "캡상추다"라고 말할 것 같다.
- 캡슐화
- 상속
- 추상화
- 다형성
만약, 자바에서 가장 중요한 특징을 하나만 골라보라고 한다면, 나는 다형성이라고 할 것이다.
2. 다형성이 뭔데?
1. 하나의 타입에 여러 가지 객체를 담을 수 있다.
2. 하나의 객체를 여러 가지 타입에 담을 수 있다.
위의 두 가지 중 뭐가 다형성에 대한 설명일까?
대답을 먼저 해보자면, 둘 다라고 할 수 있다.
1
<java />
Phone phone = new Phone();
Phone phone = new Galaxy();
Phone phone = new iPhone();
2
<java />
Phone phone = new Galaxy();
Galaxy phone = new Galaxy();
나는 2번은 상속에 가깝고, 1번이 좀 더 다형성에 대한 설명이라고 생각한다.
그렇지만, 다형성(Polymorphism)은 동일한 인터페이스나 상위 클래스 타입을 통해 여러 하위 클래스의 객체를 다룰 수 있게 해주는 개념이다. 따라서 상속은 다형성을 구현하는 주요 방법 중 하나라고 할 수 있다.
결국 상속은 다형성의 큰 범주에 속하는 개념이다.
3. 결론
상속은 다형성의 중요한 부분으로, 클래스 간의 관계를 정의하고 다형성을 실현하는 데 큰 역할을 한다.
다형성은 자바의 가장 큰 특징 중 하나로, 코드의 유연성과 재사용성을 높여 복잡한 시스템에서도 유지보수와 확장이 용이하게 한다.
'JAVA' 카테고리의 다른 글
예외 처리는 어떻게, 어디서 하죠? (2) | 2024.07.25 |
---|---|
내가 자바를 선택한 이유 (0) | 2024.07.10 |
상속에 관하여 (0) | 2024.07.04 |
오버로딩(Overloading) vs 오버라이딩(Overriding) (0) | 2023.07.19 |