728x90
728x90

디자인패턴 2

프록시(Proxy) 패턴에 대해 알아보자.

프록시 패턴(Proxy Pattern)? 특정 객체로부터의 "접근을 제어"하는 대리인(객체)을 제공한다. 어떤 객체를 사용하려고 할 때, 객체를 직접 참조하는 것이 아니라 해당 객체에 대응하는 일종의 대리인 역할을 하는 객체를 통해서 대상에 접근하는 방식으로, 직접 참조하려던 객체가 메모리에 존재하지 않아도 기본적인 정보 참조나, 실제 사용 시점까지 생성 시점을 미루는 등의 행위가 가능해진다. 대표적인 세 가지 종류 원격 프록시 다른 JVM 상에서 존재하는 객체를 대신하는 로컬 객체를 만들어 사용한다. 로컬 객체에 있는 프록시 메서드를 호출하게 되면 원격 객체의 메서드를 호출하여 관련 작업을 처리하고 이 처리 결과를 넘겨받아서, 실제 로컬 환경에 원격 객체가 존재하는 것처럼 동작하게 하는 방법이다. 가상..

자바(Java)에서의 싱글톤(Singleton) 패턴에 대해 알아보자

Singleton이 무엇인가? Singleton은 어떤 클래스가 최초 한 번만 메모리에 할당하고(Static) 그 메모리에 대해서 객체를 만들어 사용하는 디자인 패턴이다. 생성자 호출이 반복적으로 발생한다고 하더라도, 새로운 인스턴스를 생성하는 것이 아니라 최초 생성된 인스턴스를 반환해주는 것을 말한다. Singleton을 왜 사용하는가? 고정된 메모리 영역을 얻으며 생성된 인스턴스를 계속 사용하기 때문에 메모리 낭비를 방지할 수 있으며, 생성된 인스턴스는 전역 인스턴스이기 때문에 다른 클래스의 인스턴스들이 데이터를 공유하기가 쉽다고 한다. DBCP(DataBase Connection Pool) 같이 공통된 객체를 여럿 생성해 사용해야할 때 많이 사용한다. Singleton 사용 시 조심해야 되는 부분 ..

728x90