프로그래밍(46)
-
[JAVA] 10.조건문 - switch
조건문 - switch 정의주어진 조건에 따라 다르게 동작하도록 하는 것 내용앞서 말했던 조건문 - if 에서 처럼 자바의 2가지 조건문 중 남은 switch문에 대하여 알아보자. switch문은 if문과는 다른 분기 처리 방식을 사용한다. if문은 여러 조건이 나열되어 있는 상황에서순차적으로 조건을 체크해 나가면 조건이 만족할 경우에 해당 블럭 문장들을 실행하는 반면switch문은 조건에 해당하는 case를 찾아 문장을 수행한다. 간단한 코드를 보도록 하자. switch (key) { case value1: 문장 처리 break; case value2: 문장 처리 break; default: 문장 처리 break; } 위에 코드를 보면 switch 문에 key 값에 해당하는 case에 value 값을 ..
2016.11.10 -
[JAVA] 9. 조건문 - if
조건문 - if, if-else 정의주어진 조건에 따라 다르게 동작하도록 하는 것 내용조건문을 우리가 실 생활에서 겪을수 있는 간단한 예로 설명을 하자면온라인 쇼핑몰에서 물건을 주문할 때 회원등급을 기준으로 가격 할인을 해준다면각 회원들 마다 등급이 다르기에 주문 가격에서 할인을 해주는 가격을 다르게 처리 해주어야 한다. guest : 0%할인VIP1 : 1%할인VIP2 : 5%할인VIP3 : 10%할인 자.. 이런 정책을 가지고 회원이 상품을 결재할 때 현재 회원의 등급에 해당하는 할인을 적용해 줄때우리가 확인 해야할 조건은 무엇인가? 바로 회원등급 아니겠는가 회원등급을 조건으로 GUEST는 할인을 적용하지 않고 VIP1 회원에게는 1%에 할인을 적용하여 결재해주게 되면 되겠다. 이 처럼 어떠한 조건 ..
2016.11.10 -
[디자인패턴] 팩토리 메서드 패턴(Factory method pattern)
팩토리 메서드 패턴(Factory method pattern) 정의기반 클래스에 알려지지 않은 구체 클래스를 생성하는 패턴파생 클래스가 어떤 객체를 생성 할 지를 결정하도록 하는 패턴기반 클래스 코드에 구체 클래스 이름을 감추기 위한 방법으로 사용함 내용Factory Method라는 패턴 이름이 적절하지 못한데, 이름으로 인해 객체를 생성하는 메소드를 Factory method라 오해하는 개발자가 많이 있다(Allen Holub의 말을 인용.) 이런 생성 메소드가 모두 Factory method 패턴을 사용하는 것은 아니다. Template Method의 생성 패턴 버전으로 볼 수 있는데 Template Method를 알지 못한다면 그 패턴을 먼저 이해하는 것이 Factory Method를 이해하기 수월..
2016.11.10 -
[디자인패턴] 템플릿 메서드 패턴(Template Method Pattern)
템플릿 메서드 패턴 정의상위 클래스에서 처리의 흐름을 제어하며, 하위 클래스에서 처리의내용을 구체화 한다.여러 클래스에 공통되는 사항은 상위 추상 클래스에서 구현하고,각각의 상세부분은 하위 클래스에서 구현한다. 코드의 중복을 줄이고, Refactoring에 유리한 패턴으로 상속을통한 확장 개발 방법으로써 전략패턴(StrategyPattern)과 함께 가장 많이 사용 되는 패턴중 한이다. 내용- 고려사항Template Method는 위험성을 어느 정도 내포하고 있습니다. 바로 전체적인 프로세스가 바뀌는 것입니다. 상위 클래스에서 변동이 일어날 경우 하위 클래스가 안전하리라는 보장은 할 수 없습니다. 상위 클래스에 abstract method가 하나만 추가되어도 모든 하위 클래스는 변경이 불가피합니다. 나중..
2016.11.10 -
[디자인패턴] 어댑터 패턴(Adater patterns)
어댑터 패턴(Adater patterns) 정의한 클래스의 인터페이스를 클라이언트에서 사용하고자 하는 다른인터페이스로 변환합니다.어댑터를 이용하면 인터페이스 호환성 문제에 같이 쓸 수 없는클래스들을 연결해서 사용 할 수 있습니다. 내용 -신규 클래스에 이전 클래스를 연동해서 사용이 가능하게 할 수 있다. 예) 110V 전자제품을 220V로 변환 해주는 어댑터를 꼽아 사용하는 형태와 유사하다. 형식을 맞추어 사용하도록 하는 구조기존 객체를 원하는 형식으로 바꾸어(adapt) 사용하는 방식기존 객체의 인터페이스 호환성을 맞춰줌클래스의 인터페이스를 사용자가 기대하는 다른 인터페이스로 변환하는 패턴클래스 어댑터(상속을 이용) + 인스턴스 어댑터(위임을 이용) - 어댑터 패턴을 구현하는 방식에는 두가지 형태가 존..
2016.11.09 -
[디자인패턴] Strategy pattern(스트래티지 / 전략 패턴)
Strategy pattern(스트래티지 / 전략 패턴) 정의알고리즘 군을 정의하고 각각을 캡슐화하여 교환해서 사용 할 수 있도록 만든다.스트래티지를 활용하면 알고리즘을 사용하는 클라이언트와는 독립적으로 알고리즘을 변경할 수 있다. 즉, 하나의 결과를 만드는 목적은 동일하나 그 목적을 달성할 수 있는방법이 여러가지가 존재할 경우 기본이 되는 템플릿 메서드패턴(Templat Method pattern)과 함께 가장 많이 사용되는 패턴. 내용일반적으로는 객체의 메서드에 대한 알고리즘이 미리 정해져있고, 정해진 알고리즘에 따라 어플리케이션 수행중에 그 메서드가 불리면 정해진 알고리즘이 불리게 된다. 전략패턴 에서는 이 알고리즘이 여러개가 설정되어있고, 수행중에 이 알고리즘 중에 하나가 선택되어 가변 적으로 수..
2016.11.08