1. 객체의 개요
가. 객체의 정의
- 잘 정의된 경계와 정체성을 가지며 상태와 행위를 캡슐화한 개별 독립체
나. 객체의 특징
-(유형/무형), 실제 존재하는 것(사람 1,2, 자동차 3,4)과 개념적 추상적인 것(주문 1,2) 일 수 있음
-(정체성), 모든 객체는 고유의 정체성을 가짐
-(Features), 객체가 가질 수 있는 속성과 수행할 수 있는 작업으로 구성
-(메시지 통신), 상태 데이터와 행위를 객체로 정의하고 객체 사이의 행위 요청(메시지 통신)을 통해 문제 해결
-(4 특징), 캡슐화(정보은닉), 추상화, 상속, 다형성
실세계 도메인 | 분석/설계 모델링 |
구현 | C++ | JAVA | |
특징 | 상태 데이터 | 속성 | 인스턴스 변ㅅ |
데이터 멤버 | 필드 |
행위 | 연산 | 메소드 | 멤버 함수 | 메서드 |
-(시그니처), 객체지향 언어에서 메서드에 대한 명세를 의미하며 다른 객체가 메서드를 호출하기 위해 준수하여야 하는 규약
2. 클래스의 개요
가. 클래스의 정의
-유사 features를 갖는 객체들의 집합
나. 클래스의 특징
-(추상화), 각 객체가 갖는 고유 특징들을 제외하고 공통 특징만을 추출하여 의미 있는 이름을 정의하는 것
-(클래스 정의), 추상화 과정을 통해 유사 객체들의 집합을 정의 가능
-(클래스 재사용), 클래스를 재사용하여 동일한 features를 갖는 유사 객체를 생성 가능
3. 캡슐화와 정보은닉
가. 캡슐화와 정보은닉의 정의
캡슐화 | 상태와 행위를 하나로 묶어 관리하는 기법 |
정보은닉 | 객체 내부의 상태 데이터를 외부 객체로부터 보호하는 기법 |
-캡슐화는 정보은닉을 포함하는 개념
나. 캡슐화와 정보은닉의 특징
-(정보 은닉), 객체의 상태 데이터는 외부 객체가 직접 접근 불가
-(메시지 호출), 외부에 서비스하는 메서드에 대한 메시지 호출을 통해 간접적으로 접근 가능
-(Interface), 외부 객체에게 제공되는 서비스(행위)
다. 캡슐화와 정보은닉의 개념도
-사람이라는 객체가 자동차라는 객체를 운전하여 가속하는데 속도라는 상태 데이터에 직접 접근하지 않고 Inteface 중 하나인 가속하기() 메서드를 호출하여 상태 데이터 값을 변화시킴
'나의 서재 > 22. 소프트웨어 공학 기본원리' 카테고리의 다른 글
7.2 다형성 (polymorphism) (0) | 2021.12.04 |
---|---|
7.1. 상속 관계 (0) | 2021.11.30 |
6.4 자료 사전과 프로세스 명세 (0) | 2021.11.29 |
6.3 행위 모델링 (STD) (0) | 2021.11.29 |
6.2 기능 모델링 (DFD) (0) | 2021.11.29 |
댓글