상세 컨텐츠

본문 제목

[객체지향개발론] 객체지향(Object Oriented) 개요

자료실/컴퓨터 공부

by 깔깔앵무 2020. 6. 22. 22:27

본문

반응형

이번 포스팅은 객체 지향에 대해서 포스팅 하고자 한다.

 

객체 지향이 무엇인지 알기 위해서는 먼저 '객체(Object)'가 무엇인지 알아야한다.

 

 


 

객체란?

 

일반적인 의미로는 '어떤 개체를 나타내는 말'이다.

 

예를 들자면, 물리적 개체로는 트럭, 개념적 개체로는 화학반응, 소프트웨어적 개체는 링크된 리스트

... 이렇게 생각할 수 있을 것이다.

 

 

객체(Object)의 면밀한 정의는 다음과 같다.

 

"State(상태)와 Behavior(행동) 정보를 잘 정의한 범주와 특징을 지닌 개체"

 

여기서 State는 오브젝트의 특정 상황, 속성, 관계를 나타내고,

Behavior는 객체의 작동, 방식, state machines을 나타낸다.

 

 

1) 객체 상태(Object State)

: 객체의 상태를 나타냄. 일종의 정보로서 어떤 객체 내에 존재할 수 있는 가능 조건들 중 하나다. 이 상태는 언제든 바꿀 수 있다.

 

2) 객체 행동(Object Behavior)

: 객체가 어떻게 작용/반작용할 지를 결정한다. 일종의 프로그램으로서 반응할 수 있는 메시지의 묶음으로 구성된다.(일종의 모델)

 

3) 객체의 특성(Object Identity)

: 각 객체는 독특한 특성을 지녀 다른 state를 지니면 다른 객체다.

 

4) 객체의 협력성 ( 객체는 협력이 필요함 )

: 객체는 어떤 문제를 해결하기 위해 협력을 하고, 이때 유용(useful)해진다. 일반적으로 메시지를 통해 상호작용(interact)한다. 

 

 


이제 객체와 관련된 다른 개념들도 설명하도록 하겠다.

 

 

1. 클래스(Class)

: 공통 속성과 행동(behavior)을 지닌 객체(Object)의 묶음. 객체는 instance한 클래스라고도 할 수 있다.

 

1-1. 클래스(Class)와 객체(Object)의 관계성

: 클래스는 객체의 추상적인 정의이다. 클래스는 객체를 만드는 탬플릿으로서의 역할을 한다.

 

 

2. 속성(Attribute)

: 클래스의 이름 있는 특성을 의미한다.

 

3. Operation(작업)

: 서비스의 실행을 의미한다. 일종의 함수이기도 하다.

 

4. 메시지(Message)

: 객체 간의 커뮤니케이션 설명서이다. 한 객체가 다른 객체에게 Operatrion을 수행하기 위해 보내는 것이다.

 

반응형

관련글 더보기