본문 바로가기

프로그래밍34

Builder 패턴 1. Builder 패턴이란? bulider pattern은 창조적 디자인 패턴(creational patter) 에 속합니다. 이것은 factory pattern 또는 abstract factory pattern과 매우 비슷합니다. builder pattern은 선택적인 파라메터가 많을 경우 제공 상태를 일관성 있게 해주고, object를 생성시킬때 step-by-step으로 만들 수 있도록 제공해주며 최종에는 만들어진 object를 리턴한다 2. 예제 // Product 클래스 를 만들고 그안에 Builder 패턴을 사용하는 ProductBuilder 빌더를 만듭니다. package com.designpattern.builder; public class Product { private String n.. 2020. 2. 1.
Adapter 패턴 1. Adapter 패턴이란 이미 구현되어 있는 코드가 있는데, 둘이 연결 좀 시켜주고 싶을 때가 있죠. 어떤 좋은 메서드가 있는데, 인자로 A라는 형식을 받습니다. 근데, 이미 구현되어 있는 코드에는 B라는 형식으로 구현되어 있습니다. 이럴 때, B를 A의 형식으로 바꿔주면 좋은 메서드를 써먹을 수 있습니다. Adapter 패턴은 어떤 오브젝트를 캐스팅이 불가능한 다른 클래스의 형태로 변환시켜주는 것입니다. 2. 따라하기 // Adapter Class package com.designpattern.adapter; import java.util.Enumeration; import java.util.Iterator; public class IteratorToEnumeration implements Enum.. 2020. 2. 1.
Iterator 패턴 1. iterator 패턴이란 개발을 하면서 array나 List, Set, Map과 같은 interface 들을 많이 사용합니다. 이것들의 특징은 어떤 데이터들의 집합체라는 겁니다. 원래 집합체란 게 속에 뭐가 들었냐가 중요하죠. 그래서 집합체들을 다룰 때는 얘들이 가지고 있는 개별 원소에 대해서 이런 저런 작업들을 할 일이 많습니다. iterator를 쓰게 되면, 집합체와 개별 원소들간에 분리시켜 생각할 수가 있습니다. 심지어는 그 집합체가 어떤 클래스의 인스턴스인지 조차 신경쓰지 않아도 됩니다. 2. 예제 // iterator 인터페이스를 만든다. package com.designpattern.iterator; public interface Iterator { boolean hasNext(); Ob.. 2020. 2. 1.
Factory 패턴 1. Factory 패턴 이란 아주 중요한 패턴중에 하나 입니다. Factory 패턴은 creational pattern 에 속하는 패턴입니다. Factory 패턴은 객체생성로직 없이 객체를 만들어 내는 패턴입니다.. 인터페이스를 통해 만들어진 객체를 참조 하죠. 쉽게 설명해드리겠습니다. factory 는 한국어로 공장이란 뜻이죠. 즉 객체를 만들어내는 공장 입니다. 객체 선언은 보통 new 객체() 이런식으로 하죠. factory는 내부에서 그런 일을 해줍니다. 즉 factory를 가져다가 쓰는 부분에서는 new 객체()와 같은 식으로 변수를 선언할 필요가 없습니다. Abstract class나 인터페이스에 대해서 다양한 하위 구현체가 있을 경우에 사용하면 좋습니다. 사용법은 Factory.create.. 2020. 2. 1.
디자인패턴 종류별 간단 암기 노트 수많은 디자인 패턴을 다 익히려면 시간이 많이 걸립니다. 혹은 공부한 디자인 패턴을 잊어버리곤 하죠 요점만 딱 암기 하고 있으면 다음에 디자인 패턴을 쓰고 싶을대 그 요점을 기준으로 다시 생각이 나게끔 아래와 같이 정리를 해봤습니다. 하위클래스에게 위임하기 1. Iterator : 순서대로 지정해서 처리하기 2. Adapter : 바꿔서 재이용하기 3. Template Method : 하위 클래스에서 구체적으로 처리하기 4. Factory Method : 하위 클래스에서 인스턴스 만들기 인스턴스 만들기 5. Singleton : 인스턴스를 한 개만 만들기 6. Prototype : 복사해서 인스턴스 만들기 7. Builder : 복잡한 인스턴스 조립하기 8. Abstract Factory : 관련 부품을.. 2020. 1. 30.
JVM 우선 JVM이란? 자바 가상 머신이라 부른다. 자바와 운영체제사이에서 중계자 역할을 한다. 자바가 운영체제 종류에 영향받지 않고 돌아갈 수 있도록 한다. 메모리 관리를 자동으로 해준다 (GC) 여기서 중요한 것은 운영체제와 플랫폼 종류에 의존적이지 않고 독립적으로 JAVA프로그램이 실행된다. 위 그림을 설명하면... Java Compiler(자바 컴파일러)에 의해 Java source(.java) 파일은 Byte code로 변환된다. Class Loader(클래스 로더)는 이 변환된 Byte code(.class) 파일을 JVM 내로 class를 로드하고 Link작업을 통해 배치 등 일련의 작업을 한다. 또 런타임시 class를 load한다. Execution Engine(실행 엔진) 은 Class Lo.. 2020. 1. 30.
MCI 란 무엇인가 MCI 란 은행 대외계 시스템에서 발전한 개념으로, 은행의 고객 접점이 인터넷 뱅킹, 자동화기기(ATM), 모바일뱅킹, 폰뱅킹 등으로 다양해짐에 따라 각 접점별 채널을 통합해 내부 시스템과 연결하는 게이트웨이 시스템을 말합니다. 은행 공동망, 제휴기관, 금융결제원 등 대외 기관과의 연결 프로토콜이 다양해지다보니 대외 채널을 통합해서 관리할 필요성이 증가했고, 특히 방카슈랑스가 시작되면서 보험사와 은행간의 연결 요구가 발생한 이후부터 적극적으로 도입되었습니다. 실 사례를 들어 금융회사(보험,증권,은행) 에서는 HTS, WTS, MTS 등을 외주 개발을 통해 도입하게 됩니다. 이때 각기 다른 시스템 개발사의 프로토콜을 연결하고 통신 채널을 관리할 필요가 생기게 되는데요. 이때 사용되는 솔루션이 바로 MCI(.. 2020. 1. 30.