9분 50초경 default 접근제어자의 이유
108
작성한 질문수 16
선생님 , 안녕하세요. 강의 잘듣고 있습니다!
질문이 있어서 글남기게 됩니다!
이번 강의 9분 50초 정도에 AuthoriationManger 인터페이스는 접근제어자가 public으로 되어있는데, 하위 메서드인 verify는 접근제어자가 default로 되어있습니다!
위의 이유가 궁금합니다. AuthrozationManager 와 같은 패키지내의 클래스에서만 verify 메서드에 접근 가능하도록 제한을 두기 위한 것인지 아니면 다른 이유가 있는지 궁금합니다.
답변 부탁드리겠습니다! 항상 좋은 강의 감사드립니다.
답변 2
1
아래 설명에서 정확한 답변을 하고 있습니다
말 그대로 기본 구현을 해 놓음으로써 재정의 할 필요없다면 기본 구현을 그대로 사용하라는 의미입니다
인터페이스에서 바로 접근할 수 있는 구현부를 정의함으로서 편의성 및 효율적인 기능을 제공한다고 볼 수도 있습니다
1
안녕하세요, 인프런 AI 인턴입니다. 쿠카이든님,
인터페이스 AuthorizationManager의 메서드 접근 제어자에 대한 질문을 주셨군요. 이와 같은 접근 제어 설정은 주로 클래스의 사용과 하위 구현 클래스의 설계를 고려한 것입니다.
접근 제어자에 대한 설명:
Public 접근 제어자: 이 경우, AuthorizationManager 인터페이스에 정의된 메서드는 이 인터페이스를 구현하는 모든 클래스에서 접근이 가능합니다. 이는 인터페이스 자체가 어떤 역할을 수행해야 하는지를 명확히 하기 위한 설정입니다. 모든 구현체가 이 메서드를 반드시 구현해야 하므로, public으로 설정되는 것이 일반적입니다.
Default 접근 제어자: 메서드
verify가 default로 선언된 것은 해당 메서드가 인터페이스 내에서 기본 구현을 제공하는 경우에 사용됩니다. 따라서 특정한 하위 구현 클래스들이 해당 메서드를 재정의하지 않고도 사용할 수 있도록 하는 것이 목적일 수 있습니다. 이는 기본 동작을 정의하고자 하는 경우 유용하며, 동일 패키지 내의 다른 클래스에서 이 메서드를 필요로 할 경우 쉽게 사용하게 합니다.
질문하신 것처럼 같은 패키지 내에서만 접근 가능하도록 제한할 수 있으며, 대부분 이러한 설정은 인터페이스 설계 시 상속과 관련된 기능을 제공하려는 의도에서 비롯됩니다.
아래 게시물에서는 관련 내용에 대해 유사한 수업 내용을 확인할 수 있으며, 이 맥락에서 설명한 부분이 있다는 점을 더 확인하시면 좋을 것 같습니다:
- AccessDecisionManager 구현체에 대해서 질문 드립니다!
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
로그아웃-logout()-2 강에서 겟방식 로그아웃 호출 후 화면이동 질문입니다.
0
28
2
단원별 소스코드
0
60
2
CustomAuthenticationProvider 추가 관련 문의
0
69
2
AOP 의존성 명칭 변경
0
65
1
빈 1개 등록 시 다른 해결 방법
0
65
1
@Bean으로 AuthenticationProvider를 등록 시 http.authenticationProvider 함수를 이용해서 추가해줘야되나요?
0
85
2
OIDC의 id token에 담긴 데이터에 대해
0
74
1
loginPage("/loginPage") 질문드립니다.
0
69
1
@EnableWebSecurity
0
147
1
트랜잭션과 롤백
0
99
1
68. 인증 이벤트 - AuthenticationEventPublisher 활용 강좌 음성 문제
0
89
2
AuthenticationManager 사용 방법
0
148
2
HttpSecurity.authorizeHttpRequests() - 2 강의 부분에 대한 질문
0
104
2
spring security 6.3에서는 HttpSecurity가 만들어지기 전 WebSecurity가 먼저 만들어지는게 맞나요??
0
190
1
init(B Builder), configure(B builder) 에 대하여 질문 드립니다.
0
106
2
메타 주석 질문
0
68
1
동시세션제어 기능에서 로그아웃하기
0
147
3
로그인 후, redirect 에서 error
0
138
3
Session 생성 타이밍에 대한 질문
0
84
2
강의 참고 내용을 개발 로그로 작성해도 될지 문의드립니다.
0
133
2
customAuthentication 관련
0
127
2
authenticationManagerBuilder 주입받은거 vs 만든 거
0
110
1
UserDetailsService()에서 UserDetail이 아닌 타입을 반환할 수 있나요?
0
101
1
9:28 패턴 3의 경우 마지막으로 설정한 것만 적용되는 것 같습니다.
0
159
2





