본문 바로가기

Factory Pattern

(2)
[Java] DI(Dependency Injection)와 IoC(Inversion of Control) 의존성 주입(Dependency Injection) 및 IoC, DIP, Factory 패턴을 설명하기 위해서, Oauth를 사용한 애플, 구글, 페이스북 로그인 구현시에 필요한 인증(Authentication)을 예시로 들것이다.객체의 내부에서 의존성 주입예를들어, 애플 로그인을 구현한다고 가정한다면 로그인을 수행하는 클래스를 LoginService정의하고, 로그인을 수행하기 위해서 애플 유저 인증을 수행하는 클래스 AppleAuthenticator를 정의하였다.class LoginService { private Applethenticator appleAuthenticator; public LoginService() { // LoginService 클래스의 내부에서 App..
[Java] 인터페이스의 본질과 이해 인터페이스란?인터페이스의 역할인터페이스의 인터페이스란 말 그대로 구현한 클래스와 다른 클래스 간의 인터페이스 역할을 한다. 두 클래스 사이에서 인터렉션을 할수 있도록 파이프라인 역할을 하는 것이다.인터페이스는 일종의 추상 클래스이다. 인터페이스는 추상 클래스처럼 추상 메서드는 갖지만, 추상 클래스와 다르게 body가 구현된 일반 메서드와 멤버 변수를 멤버로 가질 수 없다. 오직 추상 메서드와 상수만을 멤버로 가질 수 있어서, 추상 클래스보다 추상화 정도가 높다. 인터페이스 작성인터페이스 작성하는 것은 클래스를 작성하는 것과 같으며, 클래스와 마찬가지로 인터페이스의 접근제어자도 public 또는 default으로 지정할 수 있다. 인터페이스에 추상화된 메서드를 선언하고 클래스에서 구현하는 방식이다.inte..