본문 바로가기

It9

[디자인 패턴] 데코레이터(Decorator) 패턴 Goal 데코레이터 패턴을 이해한다. 데코레이터(Decorator) 패턴 데코레이터 패턴은 기본 기능에 추가할 수 있는 많은 종류의 부가 기능에서 파생되는 다양한 조합을 동적으로 구현할 수 있는 패턴 Component 클래스에는 기본적인 기능을 뜻하는 ConcreteComponet와 추가 기능에 뜻하는 Decorator의 공통 기능에 대해서 정의한다. ConcreteComponet 클래스에서는 기본적인 기능에 대해서 구체적으로 구현한다. Decorator 클래스에서는 기본적인 기능 외에 추가적인 기능에 대해서 구현한다. ConcreteDecorator 클래스에서는 많은 수가 존재하는 구체적인 Decorator의 공통 기능을 제공한다. ConcreteDecorator 클래스에서 추가되는 개별적인 기능을 구.. 2021. 5. 23.
[디자인 패턴] 커맨드(Command) 패턴 Goal 커맨드 패턴을 이해한다. 커맨드(Command) 패턴 요청을 객체의 형태로 캡슐화하여 사용자가 보낸 요청을 나중에 이용할 수 있도록 이름, 매개변수 등 요청에 필요한 정보를 저장 또는 로깅, 취소할 수 있게 하는 패턴 커맨드 패턴은 실행될 기능을 캡슐화함으로써 기능의 실행을 요구하는 호출자(Invoker)와 실제 기능을 실행하는 수신자(Receiver) 사이의 의존성을 제거한다. 이벤트가 발생하였을 때 실행될 기능이 다양하면서도 변경이 필요할 때 이벤트를 발생하는 클래스를 수정하지 않고 재사용할 때 유용하다. Example 램프의 불이 켜지는 프로그램을 구현해보자. 램프에 불이 켜지는 프로그램을 개발하려면 버튼을 눌려졌음을 인식하는 Button 클래스와 불을 켜는 기능을 제공하는 Lamp 클래스.. 2021. 5. 20.
[디자인 패턴] 스테이트(State) 패턴 Goal 스테이트(State) 패턴을 이해한다. 스테이트(State) 패턴 어떤 행위를 수행할 때 상태에 행위를 수행하도록 위임하는 패턴 스테이트 패턴을 설명하기 위해서 형광등 상태 다이어그램을 구현해보자. 형광등에도 다양한 기능(취침등...)이 있을 수 있지만 현 상태 머신 다이어그램에는 On, Off 구현하였다. 다이어그램에서 둥근 사각형은 상태(State)를 의미하고 화살표는 상태 전이(State Transitiion)를 의미하며 검은색 원 화살표는 시작 상태를 의미한다. ※상태(State) - 상태란 객체가 시스템에 존재하는동안, 즉 객체의 라이프 타임 동안 객체가 가질 수 있는 어떤 조건이나 상황을 표현한다. [액티비티(Activity)나 이벤트(Event)] 크게 2가지의 상태를 생각할 수 있.. 2021. 5. 17.
객체지향의 원리 - 추상화 객체지향의 원리 Goal 추상화에 대해서 이해할 수 있다. 1. 추상화란? "추상화는 사물들의 공통된 특징, 즉 추상적 특징을 파악해 인식의 대상으로 삼는 행위다. 추상화가 가능한 개채들은 개체가 소유한 특성의 이름으로 하나의 집합을 이룬다. 그러므로 추상화한다는 것은 여러 개채들을 집합으로 파악한다는 것과 같다. 추상적 특성은 집합을 구성하는 개채들을 '일반화' 하는 것이므로 집합의 요소들에 보편적인 것이다." 커다란 운동장에 여러가지 다양한 수많은 자동차가 주차되어 있다고 가정하자. 이 자동차들을 그룹화할 때 추상화를 사용할 수 있다. 어떤 사람이 차의 배기량에 따라 차량을 구분하면 경차, 중형차, 대형차 등으로 구분할 수 있다. 따라서 구체적인 사물(자동차)들의 공통적인 특성(배기량)을 파악해서 이.. 2021. 5. 3.