Abstract Factory Pattern
1. Abstract Factory 패턴이란 Abstract는 ‘추상적인’이라는 의미이고, Factory는 ‘공장’이라는 의미이다. 즉, abstract factory는 ‘추상적인 공장’이라는 의미이다. Abstract Factory 패턴에서는 추상적인 공장이 등장하고, 추상적인 부품을 조합해서 추상적인 제품을 만든다. 즉, 부품의 구체적인 구현에는...
1. Abstract Factory 패턴이란 Abstract는 ‘추상적인’이라는 의미이고, Factory는 ‘공장’이라는 의미이다. 즉, abstract factory는 ‘추상적인 공장’이라는 의미이다. Abstract Factory 패턴에서는 추상적인 공장이 등장하고, 추상적인 부품을 조합해서 추상적인 제품을 만든다. 즉, 부품의 구체적인 구현에는...
1. Builder 패턴이란 구조를 가지고 있는 커다란 것을 건축하거나 구축하는 것을 build라고 한다. 빌딩을 세울 때 우선 지반을 다지고, 골격을 세우고, 아래에서 위로 조금씩 만들어 간다. 일반적으로 복잡한 구조물을 세울 때 한번에 완성시키기는 어렵다. 우선 전체를 구성하고 있는 각 부분을 만들고 단계를 밟아 만들어 간다. 구조를 가진 인스턴스...
1. Prototype 패턴이란 인스턴스를 작성할 때는 new라는 Java 언어의 키워드를 사용해서 클래스 이름을 지정해서 인스턴스를 생성한다. 이와 같이 new로 인스턴스를 만들 경우에는 클래스 이름을 반드시 지정해야 한다. 그러나 클래스 이름을 지정하지 않고 인스턴스를 생성할 때도 있다. 다음과 같은 경우에는 클래스로부터 인스턴스를 만드는 것이 아...
1. Singleton 패턴이란 프로그램을 실행할 때 보통은 많은 인스턴스가 생성된다. 예를 들어 문자열을 표시하는 java.lang.String 클래스의 인스턴스는 문자열 1개에 대해서 1개가 생성되기 때문에 문자열이 1000개 등장하는 프로그램이라면 1000개의 인스턴스가 만들어진다. 그러나 ‘클래스의 인스턴스가 단 하나만 필요’한 경우도 있다....
1. Factory Method 패턴이란 Template Method 패턴에서는 상위 클래스에서 처리의 골격을 만들고, 하위 클래스에서 구체적인 처리의 내용을 만들었다. 이 패턴을 인스턴스 생성의 장면에 적용한 것이 Factory Method 패턴 이다. 인스턴스를 생성하는 공장을 Template Method 패턴으로 구성한 것이 Factory Me...
1. Template Method 패턴이란 상위 클래스쪽에 템플릿에 해당하는 메소드가 정의되어 있고, 그 메소드의 정의 안에는 추상 메소드가 사용되고 있다. 따라서 상위 클래스의 프로그램만 보면 추상 메소드를 어떻게 호출하고 있는지 알 수 있지만, 최종적으로 어떤 처리가 수행되는지는 알 수 없다. 추상 메소드를 실제로 구현하는 것은 하위 클래스이다....
1. Adapter 패턴이란 이미 제공되어 있는 것을 그대로 사용할 수 없을 때, 필요한 형태로 교환하고 사용하는 일이 자주 있다. ‘이미 제공되어 있는 것’과 ‘필요한 것’ 사이의 ‘차이’를 없애주는 디자인 패턴이 Adapter 패턴 이다. Adapter 패턴은 Wrapper 패턴으로 불리기도 한다. wrapper는 ‘감싸는 것’이라는 의미이다. ...
1. Iterator 패턴이란 배열 arr의 모든 요소를 표시하기 위해서는 다음과 같이 for문을 사용한다. for (int i =0; i < arr.length; i++) { System.out.println(arr[i]); } 변수 i는 처음에 0으로 초기화되어 1, 2, 3, …으로 증가한다. 그때마다 arr[i]의 내용이 표시...
1. 스레드 개념 하나의 프로세스 내부에서 독립적으로 실행되는 하나의 작업 단위를 말하며, 세부적으로는 운영체제에 의해 관리되는 하나의 작업 혹은 태스크를 의미한다. JVM에 의해 하나의 프로세스가 발생하고 main() 안의 실행문 들이 하나의 스레드이다. main() 이외의 또 다른 스레드를 만들려면 Thread 클...
1. 이미지 관련 명령어 1) 이미지 목록 보기 [root@localhost ~]# docker images Images Help [root@localhost ~]# docker images --help Usage: docker images [OPTIONS] [REPOSITORY[:TAG]] List images Options:...