JAVA

[JAVA-개념] 객체지향 언어의 특징 (2)

_주야 2013. 7. 1. 14:09
(참고) http://blog.naver.com/winrate/120029593068

 



* 객체지향 언어 

-1960,70년대 부터 나온 개념 80년대 본격적으로 수용

-현실세계를 표현하고자 나온 개념 -> 현실세계에 대한 추상적 모델링

-소프트웨어의 재사용성과 독립성을 강조하기 위해 등장

-최초의 객체지향 언어는 C++이다.

 

* 객체란?

-효율적인 정보관리를 위하여 의미를 부여하고 분류하는 개념적인 단위

 


* 객체지향의 핵심 요소

 1. Object 

-실세계에 존재하는 모든것

-자체적으로 유일성을 보장할 수 있는것

-독립적으로 존재하여스스로 행위와 상태를 변경할 수 있는것

-상황에 따라 동일한 존재가 객체가 될 수도 되지 않을 수도 있다.

-효율적으로 정보를 관리하기 위하여사람들이 의미를 부여하고 분류하는 논리적인(개념적인단위

-실세계에 존재하는 하나의 단위에 대한 소프트웨어적 표현

 

2. Attribute 

-객체의 내부상태를 표현하기 위한 것

-유일성을 보장해 주기 위한 값을 식별자라 한다.

-한 객체를 다른 객체와 구분해 주기 위한 값

 

3. Message

-실세계의 동적인 상황을 기술하기 위한 수단

-객체의 내/외부에서 객체로 전달되는 이벤트

-객체간의 전달 신호(객체가 자신에게 전달하는 신호)

-객체간에 서로 노출되며받은 메시지를 무시할 수 있다.

 

4. Method 

-Message를 처리하기 위해객체에서 내부적으로 정의한 행위

-수행되는 작업은 외부에서 볼 수 없다

-수행중에 객체의 속성을 바꿀수 있다

 

5. Class

 -유사한 특성(행위,구조)을 가지는 일련의 객체들에 대해 그들의 공통적인 구조와 행위를 표현한 개념(Concept)

-객체는 항상 클래스로부터 생성된다즉 클래스는 객체를 생성하는 형판(template)

-클래스는 두개의 구성요소(member)인 자료구조(필드)와 연산(메소드)을 가진다.

-클래스로부터 생성된 객체를 instance라 한다.   

-정보처리의 주체는 클래스가 아니라 객체이다.

-객체지향 프로그래밍의 시작은 클래스의 생성이다. 


[class 예 ]

여러 수강생들의 공통적인 특성을 뽑아 수강생 개념이라는 클래스 생성

 




6.Instance=object 

-클래스에 표현된 특성에 임의의 값을 가지고 새롭게 만들어진 객체

-Instance는 클래스를 가지고 만들어 낸 복사본이다. 예를 들어 수강생 개념이라는 클래스를 가지고 위의 그림과 반대로 수강생1과 수강생2라는 Instance를 생성한 것을 말한다.

 

7.Encapsulation 

-객체 내부에 정의된 것은 외부로부터 감춰진다

-정보은닉(Information Hiding)을 보장해 준다

-메시지를 받은 객체는 내부적으로 메소드를 이용하여 자신의 상태를 변경하지만외부에는 수행된 결과를 노출시키지 않을 수 있다.

-객체 내부의 변경은 다른 객체에 영향을 끼치지 않는다

-객체를 캡슐화 하여 What만 보여주고 How는 감춘다.

 

 
8. Polymorphism 

-외부로부터 전달된 메시지에 대해관련 객체들이 서로 다르게 반응하는 것

 

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