728x90
객체 지향
주어진 문제영역을 실세계 안에 존재하는 객체의 집합으로 보고 객체들 사이의 상호작용을 나타낸 것
모델링
대상 시스템의 성능 또는 동작과정 분석을 위하여 이를 간단히 도식화하거나 그 시스템의 특징을 수학적으로 표현하는 과정
- 유스케이스
- 정보 모델링(정적 모델링) : 시스템에 사용되는 데이터베이스의 구조를 알아내어 데이터를 기술 (클래스 다이어그램)
- 동적 모델링 : 시스템을 구성하는 객체의 상태나 동작의 변화 혹은 객체들 사이의 상호 작용에 관심을 두고 클래스들의 오퍼레이션을 찾는 과정 (액티비티 다이어그램)
- 기능 모델링
객체 지향 설계
1. 객체와 클래스
객체는 독립적으로 존재하는 실세계의 사물, 클래스는 유사한 객체들의 모임으로 각 객체는 특정 속성의 모임에 의해 기술됨. 객체를 묶는 작업을 분류화라고 함
2. 캡슐화
정보 은닉을 통한 추상화, 독립성 향상을 얻을 수 있는 방법, 속성과 오퍼레이션을 함께 묶어 보호함. 모듈의 기능적 독립성은 단위 모듈의 처리 완전성을 높이고 타 모듈과의 처리 종속성을 최소화할 때 극대화됨
3. 상속
클래스의 정의를 단순화, 기존에 정의되어 있는 클래스를 이용하여 새로운 클래스를 쉽게 정의할 수 있도록 함
4. 다형성
동일한 이름의 오퍼레이션이라도 클래스에 따라 다르게 동작하는 것, 상위 클래스를 통하여 하위 클래스의 메소드를 호출할 수 있도록 하는 개념. 오버라이딩과 오버로딩이 있음
728x90
'CS' 카테고리의 다른 글
[CS / TOPCIT] 프로그래밍 언어 (0) | 2023.05.04 |
---|---|
[CS / TOPCIT] UI / UX 설계 (0) | 2023.05.04 |
[CS / TOPCIT] 소프트웨어 아키텍처 설계 (0) | 2023.05.04 |
[CS / TOPCIT] 소프트웨어 설계 원리 (0) | 2023.05.01 |
[CS / TOPCIT] 자료구조 (0) | 2023.05.01 |