OOP란?
객체지향 프로그래밍은 실세계에 존재하고 인지하고 있는 객체를 소프트웨어 세계에서 표현하기 위해 객체의 핵심적인 개념 또는 기능을 추출하는 추상화를 통해 캡슐화된 여러 개의 객체들이 상속 관계를 맺어 하나의 조직이 되어 다형성을 표현하는 것이다.
캡슐화(Encapsulation)
- 일반적으로 연관 있는 변수와 함수를 클래스로 묶는 작업이다.
- 클래스 만드는 작업과 비슷하다고 생각하지만, 캡슐화의 은닉성의 성격을 가져 클래스의 내용 중 중요한 정보을 외부에서 접근하지 못하도록 할 수 있다.
상속(Inheritance)
- 객체를 정의할 때 존재하는 객체의 속성과 기능을 상속받아 정의하는 것이다.
- 자식이 부모를 선택해서 물려받는 것이다.
- 새로운 클래스는 상속을 통해 부모 클래스의 속성과 기능을 물려받는다.
다형성(Polymorphism)
- 같은 타입, 같은 기능이지만 실행 결과가 다양한 효과를 가져오는 것이다.
- 부모타입에는 모든 자식 객체가 대입될 수 있고, 자식타입은 부모 타입으로 자동 형변환 된다.
- 메소드 오버 라이딩과 오버 로딩이라는 형태로 다형성을 지원한다.
추상화(Abstraction)
- 현실세계의 실체 및 개념을 관점에 따라 상태와 행위를 정의하는 과정
- 대상의 특성 중 불필요한 부분을 무시하고 필요한 공통점만을 다룬다.
'JAVA' 카테고리의 다른 글
| JAVA 생성자(Constructor) (0) | 2020.09.09 |
|---|---|
| JAVA의 배열 (Array) (0) | 2020.09.03 |
| JAVA의 Data Types (0) | 2020.08.31 |
| JDK, JRE, JVM (0) | 2020.08.29 |