본문 바로가기

프로그래밍2

[디자인 패턴] 스테이트(State) 패턴 Goal 스테이트(State) 패턴을 이해한다. 스테이트(State) 패턴 어떤 행위를 수행할 때 상태에 행위를 수행하도록 위임하는 패턴 스테이트 패턴을 설명하기 위해서 형광등 상태 다이어그램을 구현해보자. 형광등에도 다양한 기능(취침등...)이 있을 수 있지만 현 상태 머신 다이어그램에는 On, Off 구현하였다. 다이어그램에서 둥근 사각형은 상태(State)를 의미하고 화살표는 상태 전이(State Transitiion)를 의미하며 검은색 원 화살표는 시작 상태를 의미한다. ※상태(State) - 상태란 객체가 시스템에 존재하는동안, 즉 객체의 라이프 타임 동안 객체가 가질 수 있는 어떤 조건이나 상황을 표현한다. [액티비티(Activity)나 이벤트(Event)] 크게 2가지의 상태를 생각할 수 있.. 2021. 5. 17.
객체지향의 원리 - 캡슐화 객체지향의 원리 Goal 캡슐화에 대해서 이해할 수 있다 캡슐화란? "객체의 속성(data fields)과 행위(메서드)를 하나로 묶고 실제 구현 내용 일부를 외부에 감추어 은닉한다." 객체의 속성과 행위를 하나로 묶는다는 것은 클래스의 개념과 비슷하지만 구현 내용의 일부를 외부에 감추어 은닉한다는 것은 캡슐화의 핵심이다. 따라서 객체에 접근하기 위해서는 객체가 정해놓은 메서드나 필드를 통해서만 접근이 가능하다. 소프트웨어 공학에서 요구사항 변경에 대처하는 고전적인 설계 방식으로는 응집도(cohesion)와 결합도(coupling)가 있다. 응집도 : 클래스나 모듈 안의 요소들이 얼마나 밀접하게 관련되어 있는지를 나타냄 결합도 : 어떤 기능을 수행할 때 다른 클래스나 모듈들에 얼마나 의존적인지를 나타냄 .. 2021. 5. 7.