아주 간단하게 이해해보자.
Main 클래스가 있고 산술 클래스가 있다고 생각해보자.
산술 클래스 아래에 더하기 함수가 있고, Main에서는 더하기 함수를 사용하고 싶다.
패턴 사용 안 할경우:
1. 그러면 Main에서 산술 클래스의 인스턴스를 생성해서 사용 해도 문제가 없다.
2. 하지만 다음에 만약에 더하기 방식이나 변수가 바뀔 수 있을 가능성이 있다!
3. 만약에 바뀌게 된다면, Main에서는 바뀔 때 마다 호출을 바뀐 거에 맞춰서 새롭게 해줘야 한다!
그래서 Proxy 패턴을 사용한다.
패턴 사용 할 경우:
1. 산술 클래스의 프록시 클래스를 생성한다 이름은 간단하게 산술 프록시라고 하자.
2. 이제 Main은 산술 클래스의 인스턴스를 바로 생성해서 접근하는 것이 아니라, 산술 프록시 클래스의 인스턴스를 생성하여 산술 프록시를 통해 산술 클래스의 더하기와 같은 함수에 접근한다.
3. Main 입장에서는 산술 클래스의 변경이 있더라도, 사용 방법의 변경 없이 산술 프록시 클래스를 통해 더하기와 같은 함수를 계속 사용하면된다.
4. 산술 프록시 클래스는 산술 클래스의 인스턴스를 생성하여 정보를 미리 담아 두기 때문에, 산술 클래스가 변경되더라도 Main 입장에서는 변경을 새로 로딩 되는 것을 기다릴 필요가 없다!
'Programming > Java' 카테고리의 다른 글
[JAVA] URI와 URL의 차이 간단하게 이해 (0) | 2022.01.27 |
---|---|
[Java] 디자인 패턴 - Decorator(데코레이터, 장식자) 패턴 (0) | 2022.01.25 |
인텔리제이는 신이고 무적이다. ClassNoTFoundException 해결 (0) | 2022.01.12 |
스프링(Spring)의 객체지향 (0) | 2022.01.10 |
멤버(인스턴스) 변수 클래스(스태틱) 변수 + 지역변수 (0) | 2020.02.29 |