팩토리 메소드 패턴 (Factory Method Pattern)팩토리 메소드 패턴 ?예제References팩토리 메소드 패턴 ?객체를 만들어내는 부분을 서브 클래스에 위임하는 패턴팩토리 패턴에서 핵심은 클래스의 인스턴스를 만드는 것을 서브클래스에서 결정하도록 하여객체 생성을 캡슐화하고 구상 클래스에 대한 의존성을 줄이는 것에 있다.이러한 디자인 원칙이, 구상 클래스에 대한 의존성이 줄어드는 것, 의존성 뒤집기 원칙(Dependency Inversion Principle)*이다.의존성 뒤집기 원칙(Dependency Inversion Principle)고수준 모듈은 저수준 모듈의 구현에 의존해서는 안 되고, 저수준 모듈이 고수준 모듈에서 정의한 추상 타입에 의존해야 한다는 원칙이다.[참고] : 의존 역전 ..
ProguardProguard ?사용법ReferencesProguard ?ProGuard is a free Java class file shrinker, optimizer, obfuscator, and preverifier. It detects and removes unused classes, fields, methods, and attributes. It optimizes bytecode and removes unused instructions. It renames the remaining classes, fields, and methods using short meaningless names. Finally, it preverifies the processed code for Java 6 or hig..
백준 2805백준 2805, 이분 탐색(Binary Search)문제상근이는 나무 M미터가 필요하다. 근처에 나무를 구입할 곳이 모두 망해버렸기 때문에, 정부에 벌목 허가를 요청했다. 정부는 상근이네 집 근처의 나무 한 줄에 대한 벌목 허가를 내주었고, 상근이는 새로 구입한 목재절단기을 이용해서 나무를 구할것이다.목재절단기는 다음과 같이 동작한다. 먼저, 상근이는 절단기에 높이 H를 지정해야 한다. 높이를 지정하면 톱날이 땅으로부터 H미터 위로 올라간다. 그 다음, 한 줄에 연속해있는 나무를 모두 절단해버린다. 따라서, 높이가 H보다 큰 나무는 H 위의 부분이 잘릴 것이고, 낮은 나무는 잘리지 않을 것이다. 예를 들어, 한 줄에 연속해있는 나무의 높이가 20, 15, 10, 17이라고 하자. 상근이가 높..