-
카테고리
-
세부 분야
백엔드
-
해결 여부
미해결
SocialLoginApiServiceFactory 생성자 관련 질문입니다.
23.09.01 11:39 작성 조회수 121
0
너무 초보적인 내용이라 질문을 해야하나 고민입니다.
private static Map<String, SocialLoginApiService> socialLoginApiServices;
public SocialLoginApiServiceFactory(Map<String, SocialLoginApiService> socialLoginApiServices) {
this.socialLoginApiServices = socialLoginApiServices;
}
위에 static 필드를 아래의 생성자에서 this 키워드로
설정하는 부분 있는데요...
이부분이 아래와같이 하는거하고 차이점이 어떻게 다른지 궁금합니다.
private static Map<String, SocialLoginApiService> socialLoginApiServices;
public SocialLoginApiServiceFactory(Map<String, SocialLoginApiService> socialLoginApiServices) {
SocialLoginApiServiceFactory.socialLoginApiServices = socialLoginApiServices;
}
답변을 작성해보세요.
0
구파고
지식공유자2023.09.01
안녕하세요!
기능적으로는 결국 2개의 코드 모두 SocialLoginApiServiceFactory의 socialLoginApiServices를 가르킵니다.
차이점은 제가 봤을 때는socialLoginApiServices가 this라는 키워드로 해당 클래스의 멤버변수임을 직관적으로 알려주고, SocialLoginApiServiceFactory.socialLoginApiServices로 적었을 때는 SocialLoginApiServiceFactory가 어떤 클래스인지 한번 더 생각하게 되지 않을까 싶네요!
보통 내부 클래스에서 멤버변수를 접근할 때는 this키워드를 많이 사용합니다.
답변 1