안녕하세요! 먼저 말씀드리자면, 글 제목과 내용이 큰 관계가 없을 수도 있어요.. 질문의 매개체가 ApplicationContext여서 지은 제목임니다.
요즘 스프링 공부중~.~
인프런에서 스프링 핵심원리 강의 듣는 중인데, 정신없이 따라가다가 갑자기 궁금해졌어요.
분명 강사님이 처음에 알려주신거 같긴 한데, 기억이 안나고...
그래서 직접 찾아보게 됐습니다.
갑자기 궁금했던 것은 이것입니다
AnnotationConfigApplicationContext acac = new AnnotationConfigApplicationContext(AppConfig.class);
ApplicationContext ac = new AnnotationConfigApplicationContext(AppConfig.class);
부모말고 자식타입으로 생성해도 자식은 부모거를 다 쓸 수 있는데 왜..???????

출처: https://www.slipp.net/wiki/pages/viewpage.action?pageId=25527577
(이쯤되니 단순히 저거 하나가 궁금한게 아니라, 부모 자식이 있을 때 왜 부모타입을 써야하는지, 그럼 자식타입을 쓰면 어떻게 되는지,, 그냥 모르는거 투성이가 된 느낌이었다.
분명히 얼마전에 오빠랑 객체지향 공부할 때만 해도, 모든걸 다 이해한줄 알았는데 또 이렇게 헷갈리네..)
부모인터페이스, 자식클래스가 있다고 쳤을 때,
부모인터페이스가 가지고 있던 메소드를 자식클래스가 구현할거야.
근데 난 부모인터페이스에 있던 메소드만 필요해.
부모형식 참조변수에 자식클래스로 구현한 객체를 넣을거야.
그러면 굳이 자식형식을 갖지 않고, 부모형식에다가 자식클래스로 구현만 하는게 더 깔끔하고 논리적으로도 맞으니까 그렇게 하는 것이다. 맞나?
질문을 하고 이야기를 듣고 내가 이해한걸 정리했는데 사실 이해 못한거였네ㅎㅎㅠㅠ
헛소리->취소선, 굵은글씨->오빠가 정정해줌.
확실히 처음보단 알게 된 거 같은데, 누구한테 설명하라고 하면 자신없는걸 ㅠㅠ
이유가 명확하지 않은 늬낌..
그 질문에 대한 강사님의 답변을 보고나니 살짝 와닿았다.

근데 저거 보고 또 질문생김.. 그래서 또 남친한테 물어봤고 (감사합니다ㅠㅠ 맨날 내 궁금함 친절하게 잘 알려줘서)
실력이 미흡하여 궁금한게 많습니다..
친절한 설명임에도 헷갈리고 어려웠다. 미안 ㅠㅠ


이걸 보고 드디어 명쾌하게 와닿아서 유레카를 외침 야호