예제 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
'Spring 프레임워크 > 예제' 카테고리의 다른 글
예제 06 의존 주입 (Setter Injection) (0) | 2023.08.01 |
---|---|
예제 05 의존 주입 (Contructor Injection) (0) | 2023.08.01 |
예제 04 (.xml 파일 기타 개념) (1) | 2023.07.31 |
예제 03 ( .xml 파일을 사용하여 객체를 생성 하기 ) (1) | 2023.07.31 |
예제 01 (new 키워드의 높은 결합도) (2) | 2023.07.31 |