1. 캡슐화(Encapsulation)
캡슐화란 객체의 필드(field)와 메서드(method)를 하나의 클래스로 묶는 것을 말합니다. 이를 통해 외부 객체로부터 필드와 메소드를 보호할 수 있으며 외부의 잘못된 사용으로 객체가 손상되지 않도록 합니다. 자바에서는 접근 제한자(Access Modifier)를 이용해 객체의 필드와 메소드의 사용 범위(접근 여부)를 제한합니다. 캡슐화는 프로그램의 구성요소를 분리하는 데 도움이 되며 개발, 디버깅 및 테스트가 용이해집니다.
2. 상속(Inheritance)
객체 지향 프로그래밍의 주요 특징 중 하나인 상속은 상위클래스(super class)의 필드와 메소드를 하위클래스(sub class)가 물려받아 새로운 클래스를 정의할 수 있는 것을 의미합니다. 상위클래스는 부모클래스(parent class)혹은 기초클래스(base class)라고도 하며 하위클래스는 자식클래스(child class) 혹은 파생클래스(derived class)라고도 합니다.
상속은 기존에 작성된 클래스(상위클래스)를 재사용 함으로써 코드의 중복을 줄여주고, 하위 클래스의 빠른 작성을 도와주며, 상위클래스의 수정이 모든 하위클래스에 영향을 주기 때문에 유지보수에도 용이합니다. 또한 클래스간 계층구조가 형성되어 다형성의 문법적 토대를 마련합니다.
3. 다형성(Polymorphism)
다형성은 하나의 객체가 여러 자료형 타입을 가질 수 있는 것을 말합니다. 자바에는 컴파일 타임 다형성(compile time polymorphism)과 런타임 다형성(runtime polymorphism)의 두 가지 유형의 다형성이 있으며, 다형성은 메서드 오버로딩과 오버라이딩으로 구현할 수 있습니다.
+) 참고 (다형성)
'STUDY > Java' 카테고리의 다른 글
Java | 추상클래스(abstract class) / 인터페이스(Interface) (0) | 2020.05.18 |
---|---|
Java | 접근 제어자/접근 제한자 ( Access Modifier ) (0) | 2020.05.14 |
Java | 컬렉션 프레임워크 Collection Framework ( List / Set / Map ) (0) | 2020.05.12 |
Java | 배열 오름차순 / 내림차순 정렬하기 ( Arrays.sort() ) (0) | 2020.04.27 |
Java | 자바 가상 머신 JVM(Java Virtual Machine) (0) | 2020.04.22 |