목록객체지향 (2)
algoqna

관심사의 분리 애플리케이션의 전체 동작 방식(Config)를 구성하기 위해, 구현 객체를 생성하고 연결 하는 책임을 가지는 별도의 설정 클래스(AppConfig)를 만든다. AppConfig 애플리케이션의 실제 동작에 필요한 구현 객체 생성(Impl) 생성한 객체 인스턴스의 참조(레퍼런스)를 “생성자를 통해서 주입(연결)” 해준다. 의존 관계에 대한 고민은 외부에 맡기고 실행에 집중한다. MemberServiceImpl이 MemberRepository만 알면 된다. MemoryMemberRepository를 알아야 하는 상황에서 AppConfig가 이 역할을 대체했기 때문에 DIP를 지키는 상황을 만든다. 만약 AppConfig가 없다면, MemeberServiceImpl이 MemoryMemberRepo..

핵심 개념 이 기술을 왜 만들었는가 이 기술의 핵심 기술이 무엇인가 자바 언어 기반의 프레임워크 객체지향 언어가 가진 특징을 살려낸 프레임워크 좋은 객체지향 애플리케이션을 개발할 수 있게 도와주는 프레임워크 다형성 운전자는 자동차가 바뀌어도 영향을 받지 않음 유연하고 변경 용이하다 = 자동차 역할이 바뀌어도 운전을 할 수 있다 운전자는 자동차 역할(인터페이스)만 알고 있다 클라이언트가 자동차 내부 구조 몰라도 상관없다 내부 구조가 변경되어도 상관없다 구현 대상 자체를 변경해도 영향을 받지 않는다. 💡 역할과 구현으로 세상을 구분한다 → 자동차(구현)가 바뀌어도 클라이언트는 새로운거 안배워도 된다. 자바 언어에서 다형성 역할 = 인터페이스 구현 = 인터페이스를 구현한 클래스, 구현 객체 객체를 설계할 때 ..