Java

자바 프로그래밍 (Java) - 2 : 객체 지향의 특징

n.han 2016. 7. 12. 10:14

1. 추상화

 

컴퓨터 과학에서 추상화는 복잡한 자료, 모듈, 시스템 등으로부터 핵심적인 개념 또는 기능을 간추려 내는 것을 말한다.

 

2. 캡슐화

 

캡슐화는 정보 은닉화(Information Hiding)와 큰 관련이 있다. 정보 은닉화는 컴퓨터 프로그램의 디자인 결정에 있어서 중요한 원칙이다.

 

만약 디자인 결정이 변형되면 외부 변경이 일어나는데, 나머지 프로그램을 안정적인 interface를 제공함으로써 보호한다.

 

다시 말해, 다른 구성 요소의 영향을 주지 않고도 내부 메커니즘을 향상 시킬 수 있다는 것이다.

 

또 다른 캡슐화의 장점은 시스템 복잡도를 줄일 수 있고, 소프트웨어 요소 사이의 상호 의존성을 제한하여 robustness를 증가 시킬 수 있다.

 

3. 상속

 

상속은 한 클래스가 다른 클래스의 기초가 되는 것을 말한다.

 

이것은 코드 재사용과 public class interface를 통하여 소프트웨어의 독립적 확장을 실현하기 위함이다.

 

4. 다형성

 

프로그램 언어의 다형성은 그 프로그래밍 언어의 자료형 체계의 성질을 나타내는 것으로,

 

프로그램 언어의 각 요소들이 다양한 자료형에 속하는 것이 허가되는 성질을 말한다.