공부하는 스누피
[JAVA] OOP 특징 본문
Encapsulation
Class 안에 데이터와 기능을 담아 정의하고, 필요한 기능만 공개한다. 이때 중요한 데이터는 Access Modifier로 숨길 수 있다. public한 데이터를 최소화시키면 캡슐화가 잘 되어 있다고 할 수 있다.
Inheritance
기존에 존재하는 객체의 속성과 기능을 상속받아 새로운 객체를 정의하는 것. 이를 통해 클래스를 재사용할 수 있다.
Polymorphism
같은 타입 또는 같은 기능을 호출해서 다양한 효과를 가져오는 것을 의미한다.
대표적으로 overriding과 overloading을 예로 들 수 있는데, overriding은 같은 기능을 재정의 해서 클래스에 따라 다양한 효과를 가져올 수 있게 하였고, overloading은 같은 이름의 메서드에 파라미터에 따라 다른 효과를 사용할 수 있게 한다.
OOP의 3대 특징은 Encapsulation, Inheritance, Polymorphism 세 가지가 있고, Abstraction을 추가해서 말하기도 한다.
Abstraction
현실 세계에 존재하는 객체의 주요 특징을 추출하는 과정이다.
'Languages > Java' 카테고리의 다른 글
[디자인 패턴] 자바의 싱글턴(Singleton) (0) | 2021.02.16 |
---|---|
[디자인 패턴] 정적 팩터리 메서드 (static factory method) (0) | 2021.02.15 |
[JAVA] String Class (0) | 2021.01.25 |
[JAVA] Type casting (0) | 2021.01.13 |
[JAVA] HashMap 사용법 정리 (0) | 2020.07.10 |
Comments