작성
·
277
0
강의를 듣고 스프링 프레임워크에 의하여 생성되든 사용자가 Java 코드를 이용해 생성하든 Singleton 방식으로 구현된 객체는 1개의 객체가 여러 곳에서 재사용하기 때문에 무상태(stateless) 형태로 설계해야 한다는 것을 잘 알게 되었습니다.
강의에서도 예시를 들어주시면서 Class 내 Member 변수가 아닌 Method 내 지역 변수로만 값을 핸들링하며 return 시켜주시며 무상태(stateless)의 적절한 구현방법을 설명해주셨는데요.
한가지 의문이 들었습니다.
만약 Singleton 객체 내부에 선언된 공유 가능한 변수(강의 내에서는 Class의 Member 변수)에 상태값이 남을 수 있다면 함수도 Singleton 형태로 사용되는 것인가요?
만약 객체의 무상태(stateless)만 신경쓰고 개발하다가 아주 짧은 시간 내에 Singleton 객체 내부에 있는 A라는 함수에 동시다발적으로 호출이 몰리게 되면 A 함수 내부에 선언된 지역변수도 공유될 가능성이 존재하는 것인가요?