본문 바로가기
Spring 프레임워크/예제

예제 02 [ Factory 패턴 ] (BeanFactory)

by Hwanii_ 2023. 7. 31.
728x90

예제 01에서,
 
"new 키워드를 거의 사용 하지 않는 방법은 없을까 ?" 에 대해 알아보았다.
 
바로, Factory 패턴 이다.
 
Factory 패턴 이란 ?
 
객체를 생성하는 코드를 캡슐화 한다.
== new 키워드와 관련된 코드를 은닉 (Hiding)


사용자로부터 필요한 객체의 이름을 받아, 객체 자체를 반환하는 로직을 의미 한다.

 
코드를 단 한글자도 변경 하지 않아도, 결과가 (화면) 달라진다 !
 
 
 
아래와 같이 Factory 클래스를 생성 한다.
 

 
getBean 메서드의 시그니쳐를 보면, output으로 Object 타입인 것을 확인 할 수 있다.
 
모든 타입의 객체를 다 반환 하겠다는 의미 이다.
 
이렇게 어쩌구Factory 클래스를 생성 하면,
Client.java 클래스의 코드는 아래와 같이 작성 할 수 있게 된다.
 

 

 
getBean() 메서드의 인자로 "갤럭시폰" or "아이폰" 을 넣어,
반환 되는 객체를 Phone 인터페이스의 참조변수 phone에 대입 한다.
 
해당 참조변수에는 인터페이스를 구현한 클래스의 객체의 주소값이 저장되므로,
참조변수 phone도 그 객체의 주소를 가리키게 된다.
 
아래와 같이 작성 할 수도 있다.
 

 

 

 

 

 
위와 같이, 코드를 수정 하지 않아도 Console 결과가 달라진다. 
 
즉, 재 컴파일을 하지 않아도 된다는 의미 이다.
 
다음 예제는, .xml 파일을 사용 하는 예제를 정리.
 
.xml 파일 == 객체를 생성해주는 설정 파일
 
>> 예제 03 에서 계속
 
https://hwanii96.tistory.com/301
 
 

반응형