300x250
반응형
접근 제한자가 맞지 않아서 나는 경고이다.
public class MyServiceImpl implements MyService {
@Override
public String first(){
...
second();
}
private void second(){ // 여기서 빨간줄이 뜸 : attempting to assign weaker access privilege
...
}
}
원래 public이었던 second()를 private으로 변경하려고 하니 인텔리제이가 빨간 줄을 띄워댄다.
하지만 나는 public 메서드에서 private 메서드를 호출하려고 하는 건데
왜 이러는걸까?
문제는 해당 클래스가 implements하고 있는 MyService에 있었다.
public interface OCIService {
public String first();
public void second();
}
@Override 어노테이션을 안달아놨다고 까먹은 것이다 ㅡㅡ
인터페이스에서 second() 선언을 삭제하자 private으로 무사히 변경되었다.
외부 어디에서도 사용되지 않고 있었으므로 다른 문제가 없었다.
* 접근 제한자의 크기 비교
public > protected > default > private
300x250
반응형
'IT > 자바, 스프링' 카테고리의 다른 글
you aren't using a compiler supported by lombok (롬복 getter 안될때) (0) | 2022.12.13 |
---|---|
스프링 부트 jar 파일 윈도우 cmd에서 특정 프로필로 실행하기 (0) | 2022.10.12 |
서블릿으로 받은 MultipartFile에 대한 NoSuchFileException (0) | 2022.09.19 |
servlet으로 받은 multipartfile의 위치 지정 (0) | 2022.09.15 |
413 Request Entity Too Large - 큰 용량의 파일을 전송하기 (0) | 2022.09.05 |