본문 바로가기

JAVA22

디자인패턴 - 싱글턴 패턴 (singleton pattern) 싱글턴 패턴 (singleton pattern) 해당 클래스의 인스턴스가 하나만 만들어지고, 어디서든지 그 인스턴스에 접근할 수 있도록 하기 위한 패턴. 클래스에서 자신의 단 하나뿐인 인스턴스를 관리하도록 만든다.다른 어떤클래스에서도 자신의 인스턴스를 추가로 만들지 못하도록 해야한다. 싱글턴 클래스 다이어그램 고전적인 싱글턴 패턴 구현법 (어떤 문제가 있을까?) public class Singleton {private static Singleton uniqueInstance;private Singleton(){}public static Singleton getInstance(){if (uniqueInstance == null){uniqueInstance = new Singleton();}return un.. 2016. 5. 16.
디자인패턴 - 팩토리 패턴 (factory pattern) 팩토리 패턴 (factory pattern) 팩토리 메소드 패턴 : 객체를 생성하기 위한 인터페이스를 정의하는데, 어떤 클래스의 인스턴스를 만들지는 서브클래스에서 결정하게 만든다. 즉 팩토리 메소드 패턴을 이용하면 클래스의 인스턴스를 만드는 일을 서브클래스에게 맡기는 것. 추상 팩토리 패턴 : 인터페이스를 이용하여 서로 연관된, 또는 의존하는 객체를 구상 클래스를 지정하지 않고도 생성. new를 사용하는 것은 구상 클래스의 인스턴스를 만드는 것이다.당연히! 인터페이스가 아닌 특정 구현을 사용하게 되어버리는 것.일련의 구상 클래스들이 있을때는 어쩔수 없이 다음과 같은 코드를 만들어야 하는 경우가 있음. Duck duck; if ( type == picnic ) duck = new MallardDuck();.. 2016. 5. 12.
JDK 와 JRE 의 차이점. 자바 환경을 구성하기 위해서는 JDK 혹은 JRE를 설치해야한다. 혹시 모른다면 정리하자. JRE : Java Runtime Environment, 자바 실행 환경 JVM, Java API 자바 애플리케이션을 실행하기 위한 최소의 실행 환경 제공. JDK : Java Development Kit, 자바 개발 도구 JVM, Java API, Java Tool, Java Compiler JRE에서 제공하는 실행 환경뿐만 아니라 자바 개발에 필요한 여러 가지 명령어 그리고 컴파일러를 포함. (자바 App 메모리상태 알아보는 명령어, 배포 명령어) 2016. 5. 10.
JVM (Java Virtual Machine) 보통 자바개발 서적들의 1장에 자바란? 같이 자바 language의 개요와 JVM에 대해 간략하게 나오지만..그 마져도 대충 읽고 넘어갔었던 것 같다. JVM의 내부를 모른다 해도, JVM이 어떤 형태로 동작하는지의 내부 동작원리를 알고 있다면 조금더 이해도 높은 개발은 물론이고 나아가서 만드는 프로그램의 성능을 더 높일수 있을 것이다. (리플렉션(Reflection)과 클래스 로더(Class Loader)를 이해하는데 도움도 됨) 그래서 이번장에는 JVM에 대해 정리해보려 한다. 자바가 다른 프로그래밍 언어와 확연히 구별되는 특징은 "Write once, run everywhere" (한번 작성하면, 어디서든 실행된다.) 라고 할수있다. 다른 언어의 경우 OS에서 제공하는 라이브러리들을 가져와서 써야하.. 2016. 5. 4.