강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

akakakakak님의 프로필 이미지
akakakakak

작성한 질문수

자바 개발자를 위한 코틀린 입문(Java to Kotlin Starter Guide)

12강. 코틀린에서 object 키워드를 다루는 방법

싱글톤과 스프링

작성

·

29

0

안녕하세요. 싱글톤 관련 질문 드립니다.

특정한 의문점에 대한 질문은 아니고요.
스프링 컨테이너는 핸들러나 서비스 빈을 싱글톤으로 관리하게 되는데,
혹시 강의에서 등장한 자바와 코틀린의 싱글톤 사용 방식의 차이에 의해 발생하는 스프링 싱글톤 관련된 이슈가 있는지 궁금합니다.

싱글톤 관리는 언어와 관계없이 스프링 컨테이너가 맡게 되니 별 상관이 없을 것으로 예상되긴 합니다만.. 혹시 싶어 질문 드립니다.

감사합니다.

답변 2

0

최태현님의 프로필 이미지
최태현
지식공유자

앗 해결되셨다니 다행입니다 🙂

사용 방식에 따라 스프링 싱글톤 이슈는 전혀 없습니다.

 

다만, object 를 코틀린이 문법적으로 지원하기에 편할 때가 간혹 있는데 대표적으로 DDD의 도메인서비스 개념을 구현할 때 좋은 것 같아요.

@Component 를 이용해 단순 class로 만들면 누군가 도메인 서비스의 의도를 잊고 (stateless해야 하는데...) 필드를 추가하는 경우가 생기더라고요.

Kotlin은 확실하게 object 키워드를 써서 필드 추가를 막으면서도 싱글톤으로 바로 사용할 수 있다 보니 (빈 주입을 하지 못하지만 도메인 서비스의 특성상 굳이 빈 주입을 하지 않아도 됩니다) 간혹 요긴하게 사용하고 있습니다.

도메인 서비스 외에도 stateless 하게 만들고 싶은 특정한 영역 (Factory 라거나 Parser 라거나...) 은 object 키워드를 잘 사용하고 있습니다.

감사합니다. 🙇

0

akakakakak님의 프로필 이미지
akakakakak
질문자

질문 작성하고 보니 바로 아래 질문으로 제 궁금증까지 해결할 수 있었네요. 감사합니다.

akakakakak님의 프로필 이미지
akakakakak

작성한 질문수

질문하기