객체 지향 프로그래밍(OOP : Object-Oriented Programming) 특징
1. 상속성
정의된 상위(부모) 클래스의 속성을 모든 하위(자식) 클래스가 물려받는 것이다.
자바에서 부모 클래스를 SuperClass라고 하며 이를 상속받은 클래스를 SubClass라고 한다.
하위 클래스에서는 상위 클래스의 속성을 물려 받음으로써 해당 기능을 정의하지 않고도 바로 사용할 수 있다.
이로 인해 코드 중복 작성을 방지하고 코드 재사용을 가능하게 한다.
상속받은 클래스의 메소드를 재사용하는 것을 오버 라이딩(Overriding)이라고 한다.
상속을 하기 위해서는 extends 키워드를 사용한다.
2. 캡슐화
객체지향(자바)에서 캡슐화는 데이터 구조(메소드)와 데이터를 하나의 클래스라는 캡슐로 묶는 것이다.
특정 객체가 독립적으로 역할을 수행하기 위해 필요한 기능을 하나로 묶는 것이다.
또한 데이터를 은닉하고 세부 내용을 외부에 노출시키지 않는 ‘은닉화’의 의미로도 사용한다.
3. 다형성
서로 다른 클래스의 객체가 같은 메시지를 받았을 때 각자의 방식으로 동작하는 것이다.
4. 추상화
구현하는 객체들이 가진 공통적인 특징(속성, 기능)을 파악해서 이를 하나의 개념으로 추출하는 것을 의미한다.
'언어 > JAVA' 카테고리의 다른 글
[JAVA] Comparable [compareTo()] 와 Comparator [compare()]의 차이점 (0) | 2021.03.02 |
---|---|
[JAVA] import와 static import 차이는??? (0) | 2021.02.28 |
[JAVA] 문자열 첫 글자를 대문자로 바꾸기 (0) | 2021.02.23 |
[JAVA] File.separator로 파일 구분자 사용하기 (0) | 2021.02.18 |
[JAVA] 컴파일 언어 vs 인터프리터 언어 (0) | 2021.01.18 |