싱글톤singleton

BuZZLightyear·2023년 4월 4일
0

정리

목록 보기
44/47

싱글톤 패턴

싱글톤 패턴은 특정 클래스의 인스턴스가 오직 하나임을 보장하고, 이 인스턴스에 접근 할 수 있는 방법을 제공 한다. 객체가 하나만 생성되도록 해서 동일 인스턴스를 재사용 하는 패턴.
Ex) 여러명의 사람이 각자 자기의 아이폰을 사용하면 아이폰이라는 똑같은 폰을 사용하지만 다 다른 객체인 아이폰이다. 하지만 하나의 아이폰을 여러명이서 돌려 사용하면 똑같은 객체 아이폰을 여러명이 사용하는 느낌의 싱글톤 패턴이다.
싱글톤 패턴을 적용하지 않고 하나의 클래스에서 여러개의 객체를 만들고 그 참조변수를 참조하면 서로다른 주소값이 나온다. 하지만 하나의 클래스를 사용하는데 여러개의 메모리저장공간을 사용하는건 낭비이므로 동일한 주소값이 나오게 하는것이 싱글톤 패턴이다.


@Configuration에너테이션을 사용해서 @Bean에너테이션을 설정할 거라고 가르쳐주고 각 메서드를 빈객체로 만들어서

위와 같이 메인메서드에서 AnntationConfigApplicationContext을 사용해서 memberService1,2에 접근하면 동일한 주소값이 나온다.

PS) 롬복의 @RequiredArgsConstructor에너테이션을 사용하면

여기서 MemberService의 생성자파라미터로 MemberRepository를 의존주입 하고있는 이 생성자를
생략하고 알아서 주입해준다.

@RequiredArgsConstructor에너테이션은 final키워드가 붙은 필드들을 생성자 파라미터로해서 만들어 주기 때문이다.

profile
버즈라이트이어

0개의 댓글