Java 2

어째서 인터페이스는 protected 접근제한자 허용하지 않는가?

자바를 공부하며 기본적으로 배우는것이 있다. private < default < protected < public 순으로 넓다는것 또한 메소드 오버라이딩시 접근제한자의 범위를 줄일수 없다는것이 그것이다. public interface AA { void a(); } 그러나 인터페이스에서 선언한 이녀셕을 오버라이딩 하려 하니 public abstract class BB implements AA{ protected void a() {}; } 메소드 a에 빨간줄을 그으며 Cannot reduce the visibility of the inherited method from AA 범위를 줄일수 없다고 하지 않는가? default 접근 제한자는 protected보다 좁은 범위아닌가? 당황하지 않고 빠르게 구글링한 ..

개발/Java 2023.07.20

Spring 이란 무엇인가?

Spring의 특징 의존성 주입 (Dependency Injection) - 객체가 다른 객체의 인스턴스를 멤버로 가지지 않고 @Autowired를 통해 주입 받음 - 때문에 쉽게 Mock 객체로 대체 하여 테스트 가능 제어 역전(Inversion of Control) - 관점 지향 프로그래밍(AOP) - 공통 기능을 모듈화하여 필요한 곳에 연결함으로써 유지보수 또는 재사용에 용이하도록 하는 것을 의미 Spring Framework Spring의 핵심 기능을 담고 있는 프로젝트 - Core, 테스트, 데이터 접근, 웹 서블릿 등등 Spring Boot Spring의 설정을 최소화 시킬 수 있음 - 서버, 라이브러리 내장되있음

개발/Spring 2022.10.09