분류 전체보기

· 개발/Git
현재 work3까지 master 브랜치로 만들어준 다음에 각 브랜치들을 다만들어주고 work4를 만들었다. —online 옵션은 한 줄에 한 커밋씩 나타내 주기 때문에 커밋을 간략하게 확인할 때 편리하다. git log —oneline master branch는 work 4 나머지 브랜치들은 work 3 커밋 상태이다. 다른 브랜치로 이동하기 git checkout 변경할 브랜치명 변경하고 —oneline 옵션으로 확인해보면 cat work.txt를 해보면 - work 3까지 작업인 내용들이 들어있다. 즉 master 브랜치에서 work 4에 내용들은 나머지 브랜치에 영향을 미치지 않았다. 내용을 추가한 뒤 git log --oneline --branches 옵션을 사용하면 각 브랜치의 커밋을 함께 볼 ..
인스턴스가 하나만 존재하는 것을 보증하는 패턴을 Singleton 패턴이라고 부른다. 요소가 하나뿐인 집합 시스템 안에 1개만 존재한다는 것을 프로그램으로 표현하고 싶을 때 컴퓨터 시스템 전체를 표현한 클래스 현재 시스템 설정을 표현할 클래스 혹은 각종 상수 등 프로그래머가 주의를 기울여서 new MyClass()를 한 번만 실행해 인스턴스를 하나만 생성하는 방법이 있지만 -지정한 클래스의 인스턴스가 반드시 1개만 존재한다는 것을 보증하고 싶을 때 -인스턴스가 하나만 존재한다는 것을 프로그램 상에서 표현하고 싶을 때 이름 설명 Singleton 인스턴스가 하나만 존재하는 클래스 Main 동작 테스트용 클래스 클래스 다이어그램 Singleton 클래스 인스턴스를 하나만 만들 수 있다. static 필드(클..
Template Method 패턴에서 상위 클래스에서 처리의 뼈대를 만들고, 하위 클래스 에서 구체적인 살을 붙였다. 이 패턴을 인스턴스 생성 장면에 적용한 것이 이번에 배울 Factory Method 패턴이다. Factory Method 패턴에서는 인스턴스 생성 방법을 상위 클래스에서 결정하되, 구체적인 클래스 이름까지는 결정하지 않는다. 구체적인 살은 모두 하위 클래스에서 붙인다. 인스턴스 생성을 위한 뼈대(프레임워크)와 실제 인스턴스를 생성하는 클래스를 나누어 생각할 수 있다. 인스턴스를 생성하는 공장을 Template Method 패턴으로 구성한 것이 Factory Method 패턴이다. 신분증 카드(ID카드)를 만드는 공장 예제 패키지 이름 설명 framework Product 추상 메서드 us..
Template Method 패턴이란? 템플릿 기능을 가진 패턴으로 상위 클래스 쪽에 템플릿이 될 메서드가 정의되어 있고, 그 메서드 정의에 추상 메서드가 사용된다. 상위 클래스의 코드만 봐서는 최종적으로 어떻게 처리되는지 알 수 없다. 상위 클래스로 알 수 있는 것은 추상 메서드를 호출하는 방법 뿐이다. 템플릿이란 ? 문자 모양대로 구멍이 난 얆은 플라스틱 판으로 펜으로 그 구멍을 따라 그리면 손으로도 반듯하게 글씨를 쓸 수 있다. 어떤 형태의 문자인지는 템플릿을 보면 알 수 있지만 어떤 필기도구로 쓰냐에 따라서 색이 다를 수 있고 연필, 펜등 종류가 다를 수 있다. 추상 메서드를 실제로 구현하는 것은 하위 클래스이다. 하위 클래스에서 메서드를 구현하면 구체적인 처리 방식이 정해진다. 다른 하위 클래스..
Adapter 패턴은 Wrapper 패턴이라고 불리기도 한다. 일반 상품을 깨끗한 포장지로 싸서 선물용 상품으로 만드는 것처럼, 무엇인가 포장해서 다른 용도로 사용할 수 있도록 변환해 주는 것이 래퍼이자 어댑터이다. DC 12V로 동작하는 노트북을 AC 100V 전원에 연결할 때 변환을 하기위해 AC 어댑터를 사용한다. 제공된 것과 필요한 것 사이에 들어가서 그 사이를 채우는 것이 Adapter의 역활이다. ‘이미 제공된 것’과 ‘필요한 것’ 사이의 차이를 메우는 디자인 패턴을 Adapter패턴 이라고 한다. 제공된 코드를 그대로 사용하지 못할 때 필요한 형태로 변환이 필요할 때 2가지 Adapter 패턴 -클래스에 의한 Adapter 패턴(상속을 사용한 패턴) -인스턴스에 의한 Adapter 패턴(위임..
uhanuu
'분류 전체보기' 카테고리의 글 목록 (15 Page)