싱글톤3 [Java] 스프링과 싱글톤 패턴의 관계 (Configuration) 스프링과 싱글톤 패턴의 관계 (Configuration) 싱글톤 패턴 클래스의 인스턴스가 딱 1개만 생성되는 것을 보장하는 디자인 패턴 private final로 인스턴스를 생성하여 외부에서 new 키워드를 사용하지 못하도록 막아야함 싱글톤 패턴을 지킨 코드 getInstance 메서드를 통해서만 인스턴스를 생성할 수 있고 private 생성자를 선언하여 외부에서 new 키워드로 접근하는 것을 막음 public class SingletonService { //1. static 영역에 객체를 딱 1개만 생성해둔다. private static final SingletonService instance = new SingletonService(); //2. public으로 열어서 객체 인스터스가 필요하면 이 s.. 2022. 1. 19. [Java]웹 어플리케이션과 싱글톤 웹 어플리케이션 개발할 떄 싱글톤 패턴을 사용하는 이유 문제 : 웹 어플리케이션은 보통 여러 고객이 동시에 접속한다 @Test @DisplayName("스프링 없는 순수한 DI 컨테이너") void pureContainer() { AppConfig appConfig = new AppConfig(); //1. 조회: 호출할 때 마다 객체를 생성 MemberService memberService1 = appConfig.memberService(); //2. 조회: 호출할 때 마다 객체를 생성 MemberService memberService2 = appConfig.memberService(); //참조값이 다른 것을 확인 System.out.println("memberService1 = " + memberS.. 2022. 1. 18. [이론] singleton 패턴 (static 응용) 프로잭트 안에서 직원, 공장, 운반차 등등은 여러개일수있지만 회사자체는 하나만 있어야함 그때에 static 변수를 사용하여 구현할 수 있음 public class Company { private static Company instance = new Company(); private Company() {} public static Company getInstance() { return instance; } } private static 으로 instance는 다른곳에서 가져다 쓸 수 없고 static변수의 속성을 갖게됨 그리고 Company에 private속성을 주어서 다른곳에서 가져다 쓸 수 없게함 그렇기 때문에 다른곳에서 가져다 쓸려면 getter/setter를 사용해야만함 public 접급제어자를 통.. 2021. 7. 12. 이전 1 다음