- 캡슐화 (Encapsulation) - 하나의 문제를 해결하기 위한 데이터와 메서드를 하나의 단위로 묶는다는 것으로서, 클래스의 내부 정의에 대해 외부에서 볼 수 없도록 하는 것이 특징이다. 클래스에 정의된 메서드(Interface)만 볼 (사용할) 수 있으며, 내부의 속성과 구현은 볼 수 없게 디자인한다. 캡슐화는 객체를 외부의 부정적인 방법(또는 잘못된 방법)으로 사용하는 것을 방지하며, 사용자가 클래스의 내부에 대해 알지 못하는 상황에서도 외부에 공개된 메서드(Interface)를 통해 객체사용을 가능하게 해준다.
- 추상화 (Abstraction) - 모델(Object)의 자세한 성질을 무시하고(숨기고) 그들의 일반적인 성질을 나타낸다는 것으로서, 일반적으로 클래스는 클래스로 표현할 서브클래스(또는 객체)의 공통적인 성질과 행위를 일반화하여 디자인 되게 되며 그로부터 생성된 객체는 자신의 고유의 성질을 가지게 된다.
- 다형성 (Polymorphism) - 다형성이란 같은 메시지에 대해 클래스에 따라 다른 행위를 하게 되는 특징이다. 일반적으로 같은 이름을 가지는 메서드에 대해 인자(Argument)의 개수와 데이터형(Data Type)에 따라 수행되는 행위가 달라짐을 의미한다. 다형성을 통해서 사용자는 약속된 인터페이스를 따르는 서로 다른 객체를 같은 방식으로 사용 할 수 있게 된다.
- 상속(inheritance) - 기존에 있던 클래스를 바탕으로(즉, 기존의 클래스로부터 상속 받음) 다른 특성을 추가해 새로운 클래스를 만들 수 있다.
- 인스턴스(instance) - 인스턴스는 추상화 개념 또는 클래스 객체, 컴퓨터 프로세스 등과 같은 템플릿(무엇인가를 만들 때 안내역할을 하는데 사용되는 형식(꼴), 틀 또는 모형 등을 의미)이 실제 구현된 것이다.
- 메시지 전달(message passing) - 객체가 보내는 데이터를 사용하는 과정에서 다른 객체 또는 원하는 메소드에 다른 객체를 요청한다.
출처 : 위키백과
'Device & Language > Java' 카테고리의 다른 글
이클립스 vs 네이트온... (0) | 2010.09.07 |
---|---|
The Java™ Language Specification Third Edition (0) | 2010.09.06 |
% 연산자 음수 적용시 (0) | 2010.09.06 |
Java API (0) | 2010.09.02 |
jsp 2.0 spec (0) | 2010.09.01 |