* 객체지향 언어
-1960,70년대 부터 나온 개념 80년대 본격적으로 수용
-현실세계를 표현하고자 나온 개념 -> 현실세계에 대한 추상적 모델링
-소프트웨어의 재사용성과 독립성을 강조하기 위해 등장
-최초의 객체지향 언어는 C++이다.
* 객체란?
-효율적인 정보관리를 위하여 의미를 부여하고 분류하는 개념적인 단위
* 객체지향의 핵심 요소
1. Object
-실세계에 존재하는 모든것
-자체적으로 유일성을 보장할 수 있는것
-독립적으로 존재하여, 스스로 행위와 상태를 변경할 수 있는것
-상황에 따라 동일한 존재가 객체가 될 수도 되지 않을 수도 있다.
-효율적으로 정보를 관리하기 위하여, 사람들이 의미를 부여하고 분류하는 논리적인(개념적인) 단위
-실세계에 존재하는 하나의 단위에 대한 소프트웨어적 표현
2. Attribute
-객체의 내부상태를 표현하기 위한 것
-유일성을 보장해 주기 위한 값을 식별자라 한다.
-한 객체를 다른 객체와 구분해 주기 위한 값
3. Message
-실세계의 동적인 상황을 기술하기 위한 수단
-객체의 내/외부에서 객체로 전달되는 이벤트
-객체간의 전달 신호(객체가 자신에게 전달하는 신호)
-객체간에 서로 노출되며, 받은 메시지를 무시할 수 있다.
4. Method
-Message를 처리하기 위해, 객체에서 내부적으로 정의한 행위
-수행되는 작업은 외부에서 볼 수 없다
-수행중에 객체의 속성을 바꿀수 있다
5. Class
-유사한 특성(행위,구조)을 가지는 일련의 객체들에 대해 그들의 공통적인 구조와 행위를 표현한 개념(Concept)
-객체는 항상 클래스로부터 생성된다. 즉 클래스는 객체를 생성하는 형판(template)
-클래스는 두개의 구성요소(member)인 자료구조(필드)와 연산(메소드)을 가진다.
-클래스로부터 생성된 객체를 instance라 한다.
-정보처리의 주체는 클래스가 아니라 객체이다.
-객체지향 프로그래밍의 시작은 클래스의 생성이다.
[class 예 ]
여러 수강생들의 공통적인 특성을 뽑아 수강생 개념이라는 클래스 생성
-클래스에 표현된 특성에 임의의 값을 가지고 새롭게 만들어진 객체
-Instance는 클래스를 가지고 만들어 낸 복사본이다. 예를 들어 수강생 개념이라는 클래스를 가지고 위의 그림과 반대로 수강생1과 수강생2라는 Instance를 생성한 것을 말한다.
7.Encapsulation
-객체 내부에 정의된 것은 외부로부터 감춰진다
-정보은닉(Information Hiding)을 보장해 준다
-메시지를 받은 객체는 내부적으로 메소드를 이용하여 자신의 상태를 변경하지만, 외부에는 수행된 결과를 노출시키지 않을 수 있다.
-객체 내부의 변경은 다른 객체에 영향을 끼치지 않는다
-객체를 캡슐화 하여 What만 보여주고 How는 감춘다.
-외부로부터 전달된 메시지에 대해, 관련 객체들이 서로 다르게 반응하는 것
9. Inheritance
-상위 클래스의 특성이 하위 클래스로 전달되는 행위
-온전한 하위 클래스의 표현을 보장하기 위한 메커니즘
-클래스 계층 구조의 형태에 따라 상속 형태가 달라질 수 있다
'JAVA' 카테고리의 다른 글
[JAVA-개념] 서블릿 (Servlet) (0) | 2013.07.01 |
---|---|
[JAVA-개념] 자바 메모리 모델 (0) | 2013.07.01 |
[JAVA-개념] 배열 (0) | 2012.12.07 |
[JAVA-환경설정] Syntax Coloring 수정 (0) | 2012.12.07 |
[JAVA-환경설정] Current line 색 변경 (0) | 2012.12.07 |