오리 시뮬레이션 게임상황 : 다양한 오리가 있다.그래서 Duck 슈퍼 클래스를 만든 다음, 그 클래스를 확장해서 서로 다른 종류의 오리를 만들었다.오리가 날아야 한다는 기능 추가이후 오리가 날아야 한다는 기능이 추가되었다.그래서 Duck 슈퍼 클래스에 fly()메서드를
기상 스테이션(기상 정보를 수집하는 물리 장비)WeatherDate 객체(기상 스테이션으로부터 오는 정보 객체)사용자에게 현재 기상 정보를 보여주는 디스플레이 장비(현재는 3개의 항목이 있고, 더 확장 가능하다. 또한, WeatherDate객체가 갱신 될 때마다 디스플
Beverage는 음료를 나타내는 추상 클래스이며 매장에서 판매되는 모든 음료는 이 클래스의 서브 클래스가 된다.이중 cost는 추상메서드로 서브 클래스에서 이 메서드를 구현해야 한다.문제점은 다음과 같다.음료를 주문할 때 우유나, 모카, 두유 등 다양한 옵션을 추가하
싱글턴 패턴이란? 특정 클래스에 객체 인스턴스가 단 하나만 만들어지도록 해주는 패턴 1. 어떤 곳에 싱글턴 패턴을 사용하는 것일까? 인스턴스가 2개 이상이면 결과에 일관성이 없어져 프로그램이 이상하게 돌아가는 경우 싱글턴 객체를 이용하면 한 애플리케이션에 들어있는 어떤 객체도 같은 자원을 사용할 수 있다. 로그 기록용 객체, 사용자 설정, 스레드 풀 같...
디자인 패턴을 읽다보면 싱글턴 패턴이 멀티스레드 환경에서는 하나의 객체만을 생성하지 않을 수도 있다고 했다.t1 스레드는 람다를 이용해서 Thread 클래스의 run메서드를 구현해주었고t2 스레드는 Thread 클래스를 상속해서 만든 클래스에 run메서드를 구현해주었고
템플릿 메서드 패턴 알고리즘의 골격을 정의한다. 해당 패턴을 이용하면 알고리즘의 구조는 그대로 유지하면서 알고리즘의 특정 단계를 서브클래스에서 재정의할 수 있다. 예제 Coffe, Tea 클래스는 1,3번 코드가 중복된다. 코드의 중복을 제거할 수 있는 방법이 있을