인프런 커뮤니티 질문&답변

김은재님의 프로필 이미지
김은재

작성한 질문수

스프링 핵심 원리 - 기본편

스프링 빈 설정 메타 정보 - BeanDefinition

강의와 별개로 질문드립니다.

작성

·

226

1

ApplicationContext를 쓰지 않고 AnnotationConfigApplicationContext를 사용하는 이유가    ApplicationContext인터페이스보다 AnnotationConfigApplicationContext구현체에 더 많은 기능을 제공하기 때문에 사용한다고 말씀해주셨는데...

ApplicationContext인터페이스의 정의된 메소드의 갯수와 ApplicationContext인터페이스를 구현한 AnnotationConfigApplicationContext구현체의 메소드의 갯수는 같아야 하지 않나요??

예를들어, DiscountPolicy인터페이스에 정의된 메소드가 하나라면 FixDiscountPolicy구현체에서 DiscountPolicy를 implements할때, 인터페이스에 정의된 1개의 메소드만 생성되게 됩니다.

결국 인터페이스 메소드 개수 = 구현체 메소드 개수인데 어떻게 더많은 기능을 제공하는지가 궁금합니다.

답변 1

0

김영한님의 프로필 이미지
김영한
지식공유자

안녕하세요. 은재님

ApplicationContext 인터페이스를

ConfigurableApplicationContext 인터페이스가 상속받고

AnnotationConfigApplicationContext는 ConfigurableApplicationContext 인터페이스를 구현합니다.

결과적으로 AnnotationConfigApplicationContext는 ApplicationContext와 ConfigurableApplicationContext 둘의 기능을 모두 제공합니다.

감사합니다.

김은재님의 프로필 이미지
김은재

작성한 질문수

질문하기