인프런 커뮤니티 질문&답변
접근 제어자 관련 질문입니다.
작성
·
286
퀴즈
객체를 직접 생성(new)하여 의존성을 관리할 때 발생하기 쉬운 설계상의 문제는 무엇인가요?
컴파일 오류가 발생한다.
요구사항 변경 시 클라이언트 코드 수정이 필요해진다.
객체 직렬화가 불가능해진다.
멀티 스레딩 환경에서 문제가 생긴다.
답변 1
1
김영한
지식공유자
안녕하세요. 귀승님
1. private final은 해당 필드를 내부에서만 사용하고(외부에 공개하지 않고) 생성자로 설정한 이후에는 변경하지 않겠다는 뜻입니다. 꼭 이렇게 하지 않아도 되지만, 다른 곳에서 실수로 접근하거나 변경하는 것을 막기 위함입니다.
2. AppConfig의 memberRepository()는 public이어도 됩니다. 제가 IDE가 자동으로 해주는 리펙토링 기능 때문에 private으로 두었네요^^;
감사합니다.





