특정한 문제를 해결하는 과정이나 방법 등이 유사한 걸 발견할 수 있다.패턴은 문제를 해결하는 과정을 일반화한 것.한 패턴이 다른 패턴에 중복적으로 사용되는 경우도 있다.디자인 패턴을 구별하는 기준각각의 패턴이 어떤 관심사나 관점에서 문제를 해결하려는 가로 구분한다.즉,
객체지향 프로그램을 실행하기 위해선 클래스를 선언하고 객체를 생성한다.대표적으로 new 키워드로 생성한다.대규모 응용 프로그램은 객체지향 개발 시 생각보다 많은 객체가 필요하고, 이들 객체 간 관계를 설정한다.작성 로직에서 직접 객체를 생성하고 관계를 설정하면 객체 간
객체지향 프로그램을 실행하려면 클래스를 선언하는 과정이 필요하다.클래스 선언 = 객체 생성의 청사진클래스에 객체에서 처리할 행동을 결정한다.(행동 : 객체에서 동작 수행해야 하는 처리 로직)70년대부터 사용한 개발 방법론으로 C++, Java에서 오래 전부터 도입해서
생성 패턴 중 가장 많이 주목받고 있다.자원 공유를 위해 객체 생성 개수를 1개로 제한한 패턴이다.객체는 클래스 선언 후 new 키워드로 인스턴스화해서 생성한다.new 키워드 : 객체를 생성할 유일한 방법.객체 생성 : 선언된 클래스에 따라 객체를 메모리에 할당하는 동
팩토리 패턴의 확장 = 팩토리 + 템플릿 메서드팩토리 메서드 : 팩토리 패턴을 추상화로 확장한 패턴이다.추상 (Abstract)중요한 부분만 분리하여 이해하기 쉽게 만드는 작업= 코드를 요약한다.= 세부사항을 분리한다.파악하려는 기능이 요약된 정보가 있다. ⇒ 이해에
큰 큐모의 객체군을 형성하는 생성 패턴팩토리, 팩토리 메서드, 추상 팩토리는 서로 매우 유사한 생김새와 성격을 가짐.팩토리 vs 팩토리 메서드 : 추상화 여부.팩토리 메서드 vs 추상 팩토리 : 추상화된 그룹 형성 및 관리 여부.일반적 상속 : 상위 클래스의 내용을 포
= 클론 패턴코드를 다른 클래스에 의존시키지 않고 기존 객체들을 복사할 수 있도록하는 디자인 패턴같은 값을 가진 객체를 새롭게 만드는 것보다 기존 객체를 복사하는 것이 시간적으로 더 저렴함객체가 있고 그 객체의 정확한 복사본을 만들고 싶은 경우같은 클래스의 새 객체를
추상 팩토리를 확장 → 크고 복잡한 객체를 생성할 수 있다.Builder : 건축가 / 건축기사 = 큰 구조의 큰 물체를 설계, 생성생성 패턴주요 목적 = 객체의 생성 과정을 한 곳에 집중화패턴으로 객체 생성, 관리하는 이유 :인스턴스화 과정에서 발생하는 강력한 의존
클래스 → 하나의 책임(역할)으로 설계 (SRP 원칙)하지만, 하나의 책임만으로는 전체 기능을 구현할 수 없음단일 책임 (SRP) : 클래스의 행동을 분리하는 설계원칙여러 개로 분리된 책임과 행동 → 서로 관계를 맺고 주어진 문제를 해결객체지향 코드 → 수많은 파일로