-
객체지향 설계 과정Topcit/소프트웨어 개발 2018. 6. 11. 15:11
- 객체지향설계 개념과 원리
- 정의
- 객체지향 분석 과정에서 밝혀진 사용자 요구사항을 어떻게 소프트웨어의 모습으로 나타낼 것인가에 초점을 맞춘다.
- 구현에 관한 세부사항을 제시하고 구체적 실현 방법을 정한다.
- 객체와 클래스
- 클래스는 유사한 객체들의 모임이다.
- 객체는 측정 속성의 모임에 의해 기술된다.
- 비슷한 객체들을 묶는 작업을 분류화라 한다.
- 캡슐화
- 정보 은닉을 통한 추상화, 독립성 향상을 얻을 수 있다.
- 상속
- 클래스 사이에 유사성이 존재할 때 유사성을 모아 하나의 새로운 클래스를 정의한다.
- 상위 클래스는 하위 클래스들의 공통적인 속성과 오퍼레이션을 가진다.
- 상위 클래스의 정보는 하위 클래스에 상속된다.
- 다형성
- 동일한 이름의 오퍼레이션이 클래스에 따라 다르게 동작하는 것
- 객체 지향에서 다향성은 상속 관계에서 사용된다.
- 상위 클래스의 메소드를 재정의하는 오버라이딩, 매개변수 타입, 개수를 달리하여 메소드를 다중 정의하는 오버로딩 기법이 사용된다.
- 정적 모델링과 동적 모델링
- 정적 모델링
- 시간의 개념이 개입되지 않은 객체의 정적인 정보를 밝히는 것
- 동적 모델링
- 시스템을 구성하는 객체의 상태나 동작의 변화, 객체들 사이의 상호 작용에 관심을 두고 클래스들의 오퍼레이션을 찾는 과정
- 디자인 패턴
- 싱글톤 패턴
- 특정 클래스의 인스턴스가 오직 하나임을 보장하고 이 인스턴스에 접근할 수 있는 방법을 제공한다.
- 팩토리 메소드 패턴
- 객체를 생성하는 메소드를 이용하는 기법
- 객체를 생성하기 위해 일정한 절차가 필요하거나 객체를 생성하는 시점이 불확실한 경우에 사용된다.
- 파세이드 패턴
- 시스템의 복잡성을 줄이기 위해 서브 시스템을 구조화하고 서브시스템으로의 접근을 하나의 파세이드 객체로 제공하는 패턴
- 스트래티지 패턴
- 다양한 알고리즘이 존재할 때 이들 각각을 클래스로 캡슐화 하여 알고리즘을 대체가 가능하도록 하는 기법
'Topcit > 소프트웨어 개발' 카테고리의 다른 글
프로그래밍 언어, 코드 재사용, 리팩토링 (0) 2018.06.11 사용자 인터페이스 설계 원리 (0) 2018.06.11 소프트웨어 아키텍처 설계 (0) 2018.06.11 소프트웨어 설계 원리 (0) 2018.06.11 요구사항 분석과 명세화 (0) 2018.06.11
댓글