6. 객체지향 설계 과정

2021. 1. 21. 23:16Topcit 정리/기술영역 - 소프트웨어 개발

반응형

 

객체지향 설계 개념과 원리

 

객체와 클래스

클래스는 유사한 객체들의 모임으로, 각 객체는 특정 속성이 모임이다.

비슷한 객체를 묶어 종류의 속성 제약조건 및 동작의 유형을 공유한다.

 

캡슐화

각자 클래스들이 독립성을 가지고 기능을 수행할 수 있도록 감싸는 것을 캡슐화라 하며,

종속성을 줄일 수 있다.

 

상속

유사한 클래스를 정의 내리거나, 하위 개념을 정의할 때 만들어진 클래스를 상속할 수 있다.

클래스의 정의를 단순화시킬 수 있고 새로운 클래스를 쉽게 정의할 수 있다.

 

다형성

동일한 이름의 오퍼레이션이 다양한 작업을 하는 것을 말하며,

상위 클래스에서 정의된 메서드를 하위 클래스에서 재정의하는 오버라이딩,

이름은 같지만 매개변수를 달리하여 재정의하는 오버로딩 등이 있다.

 

 

정적 모델링과 동적 모델링

 

정적 모델링

시간 개념이 개입되지 않은 객체의 정적인 정보를 밝히는 것으로, 데이터베이스의 구조를 알아내어

데이터를 기술한다.

 

동적 모델링

시스템을 구성하는 객체의 상태나 동작의 변화 혹은 상호작용에 관심을 두고 정의하는 것이다.

이벤트 처리과정을 나타내는 다이어그램인 액티비티 다이어그램으로 나타낼 수 있다.

 

 

디자인 패턴

 

Singleton 패턴

특정 클래스의 인스턴스가 하나임을 보장하고 이 인스턴스에 접근할 수 있도록 만드는 기법으로

객체가 여러 개 생성되지 않을 경우나 thread를 pool 형태로 관리해야 할 경우 주로 사용된다.

 

Factory Method 패턴

객체를 생성하기 위해 절차가 필요하거나 생성하는 시점이 불명확할 경우 객체를 생성하는 메서드를 만든다.

객체를 생성하는 인터페이스를 정의하지만, 무슨 인스턴스인지 결정은 하위 클래스에 책임을 가지게 한다.

 

Facade 패턴

퍼사드란 건물 앞쪽을 뜻하며, 정면의 안내소처럼 앞쪽에 위치하여 내부 객체들을 사용할 수 있도록 하는 역할이다.

서브시스템을 구조화하고 접근을 퍼사드 객체로 제공한다.

 

Strategy 패턴

스트레티지 패턴은 다양한 알고리즘을 하나의 클래스로 캡슐화하여 대체 가능하도록 하는 방법이다.

이를 통해 클라이언트에 영향을 주지 않고 알고리즘을 변경할 수 있어 부하가 없다.

 

 

반응형