작성
·
273
1
답변 1
2
안녕하세요, hipass4 님! 공식 서포터즈 codesweaver 입니다.
private 은 접근제어자 입니다. 접근제어자란 클래스 외부에서 클래스 내의 필드/메서드에 접근 할 수 있는 권한을 제어합니다.
접근제어자는 private, (생략), protected, public 이 있는데, 보통 클래스의 필드와 메서드는 private을 기본적으로 사용한다고 생각하시면 됩니다. 이는 객체지향 프로그래밍 중 추상화, 캡슐화와 관련된 항목을 찾아보시면 이해하실 수 있습니다.
final 은 할당 된 값을 변경할 수 없다는 의미로, 상수 라고 이해하면 됩니다. int, double 같은 원시값에 final을 붙일 경우 그 값을 처음 할당한 이후 다시 변경할 수 없습니다. String, Object 같은 객체를 참조하는 경우도 마찬가지로 새로운 객체를 참조하도록 변경할 수 없습니다.(단, 객체 내부의 필드값 변경등은 변경 가능) 강의에서는 한 번 할당한 이후 객체가 바뀌지 않는 다는 의미로 final을 붙인 것입니다.
감사합니다.
그런데 왜 MemberServiceImpl에서 MemberRepository 에서는 final을 안 붙이고 그냥
라고 적은걸까요?? 이때도 final 해도 되나요?