Archive for the ‘ OOP ’ Category

설계지침

일반적으로 안정적인 OO 설계 과정은 다음 단계를 포함한다.

  1. 적합한 분석 수행
  2. 시스템을 설명하는 작업 명세서(SOW) 개발
  3. 이 작업 명세서로부터 요구 사항 수집
  4. 상요자 인터페이스를 위한 원형 개발
  5. 클래스 확인
  6. 각 클래스의 책임 역할 결정
  7. 다양한 클래스가 상호작용하는 방법 결정
  8. 구축할 시스템을 설명하는 상위 수준 모델 작성

객체 관점에서 생각하는 방법

OO 사고 과정을 잘 이해하기 위해 할 수 있는 세 가지 중요한 일

  • 인터페이스와 구현 간에 차이가 있다는 점을 인식
  • 보다 추상적으로 생각
  • 사용자에게 가능한 최소한의 인터페이스만 제공

객체 지속성

객체 시속성이란 객체의 상태를 저장하여 나중에 복구하여 사용할 수 있게 하는 개념이다. 지속되지 않는 객체는 범위에서 벗어날 때에 기본적으로 소멸한다. 예를 들어 객체의 상태를 데이터베이스에 저장할 수 있다.

객체(Object)

객체는 속성과 행위라는 두 가지 용어로 정의된다.

사람은 눈동자 색, 나이, 키와 같은 속성을 가지고 있다.

또한 걷기, 말하기, 숨쉬기 등의 행위를 한다.

객체(object)란 데이터와 행위를 모두 가지고 있는 실체(엔티티, entity)이다.

- OO(Object-Oriented)와 절차의 차이점

OO 설계에서 속성과 행위는 단일 객체에 포함되어 있는 반면 절차 또는 구조적 설계에서는 속성과 행위가 분리되어 있는 것이 일반적이다.

- 데이터 은닉

OO 용어에서 데이터는 속성이라고 하고, 행위는 메서드라고 한다. 특정 속성 및/또는 메서드에 대한 액세스를 제한하는 것을 데이터 은닉(data hiding)이라고 한다.

객체란 정확히 무엇인가?

객체는 OO 프로그램을 구성한느 블록이다. OO 기술을 사용한느 프로그램은 기본적으로 객체 집합이다. 예시를 위해 회사 시스템에 회사 직원을 나타내는 객체들이 포함된다고 가정하자. 이런 각각의 객체는 다음 단락에서 설명하는 데이터와 행위로 구성된다.

Getter와 Setter

getter와 setter 개념은 데이터 은닉의 개념을 뒷받침한다. 다른 객체가 직접 다른 객체 내에 있는 데이터를 이용해서는 안되기 때문에 getter와 setter는 객체 데이터에 대한 제한된 액세스를 제공한다. getter와 setter는 각각 접근자(accessor) 메서드와 변경쟈(mutator) 메서드라고 불릴 때도 있다.

from 객체지향적으로 생각하라!