자바는 객체 지향 언어이다. 그래서 클래스(Class)를 생성하고 이로부터 객체를 만들어 이용한다. 이때 클래스는 틀, 객체는 틀로부터 나오는 제품이라고 이해하면 된다.
이와 관련하여 헷갈리는 두 가지 개념이 있다: 추상 클래스(Abstract class)와 인터페이스(Interface). 이를 정리하면 다음과 같다.
- 추상 클래스는 틀을 만들어 두고, 이 틀을 기반으로 새로운 틀(자식 클래스)을 만드려는 목적 (상속).
- 인터페이스는 틀을 만들어 두고, 이 틀에 여러 가지 객체를 바꿔끼워가며 사용하는 목적 (다형성).
"다형성(polymorphism)이란, 하나의 객체가 여러 가지 타입을 가질 수 있는 것을 의미"한다 (1). 물론 추상 클래스 (상속)을 다형성 측면에서 이용할 수 있기는 하지만, 인터페이스로 구현하는 경우가 더 많은 것 같다 (2).
Reference
728x90
반응형
'Computer Science > Java' 카테고리의 다른 글
[Java] 자바 코드 관련 팁 (삼항 연산자, break Label, TreeSet, Stack, Queue) (0) | 2021.08.18 |
---|---|
[Java] 이클립스에서 실행 가능한 JAR 파일 만들기 (0) | 2021.08.18 |
[Java] 이클립스에서 maven project 임포트 (0) | 2021.08.15 |
[Java] 이클립스 (Eclipse IDE) 설정 | 테마, Build path, Java version (0) | 2021.08.12 |
[Java] Ant Build를 통한 local에서 server로의 자바 클래스 파일 이동 (0) | 2021.08.12 |