본문 바로가기

스프링 입문을 위한 자바 객체 지향의 원리와 이해

(4)
[스프링 입문을 위한 자바 객체 지향의 원리와 이해] 7장 : 스프링 삼각형과 설정 정보 스프링을 이해하려면 POJO를 기반으로 스프링 삼각형이라는 애칭을 가진 IoC/DI, AOP, PSA라고 하는 스프링의 3대 프로그래밍 모델에 대해 이해가 필수다. 스프링 삼각형을 이해하면 그 조합으로 이루어진 수많은 복잡한 부가 프레임워크를 이해할 수 있다. 스프링 삼각형에 대해서 한번 알아보자. IoC/DI - 제어의 역전/의존성 주입 프로그래밍에서 의존성이란 무엇일까? ex) 운전자가 자동차를 생산한다. -> 자동차가 내부적으로 타이어를 생산한다. (운전자 -> 자동차 -> 타이어) 의존 -> 전체(의존하는 객체)가 부분(의존되는 객체)에 의존한다. 집합(Aggregation) 관계: 부분이 전체와 다른 생명 주기를 가질 수 있다. 구성(Compostion) 관계: 부분은 전체와 같은 생명 주기를 ..
[스프링 입문을 위한 자바 객체 지향의 원리와 이해] 6장 : 스프링이 사랑한 디자인 패턴 '객체지향의 4대 특성'은 객체지향을 잘 사용하기위한 '도구'이다. '객체지향의 5대 원칙'은 이러한 도구를 올바르게 사용하는 원칙으로 볼 수 있다. 그렇다면 디자인패턴은 무엇에 비유할 수 있을까? '디자인 패턴'은 레시피에 비유할 수 있다. 실제 개발 현장에서 비즈니스 요구 사항을 처리하면서 만들어진 다양한 해결책 중 많은 사람들이 인정한 '베스트 프렉티스'를 정리한 것이다. (디자인 패턴은 당연히 객체 지향 특성과 설계 원칙을 기반으로 구성) -> 스프링 역시 다양한 디자인 패턴을 활용하고 있다! * 스프링의 공식적 정의 : "자바 엔터프라이즈 개발을 편하게 해주는 오픈소스 경량급 애플리케이션 프레임워크" 디자인 패턴은 객체 지향의 특성 중 '상속', '인터페이스', '합성'을 이용한다. (합성은 객..
[스프링 입문을 위한 자바 객체 지향의 원리와 이해] 5장 : 객체 지향 설계 5원칙 객체 지향 설계 5원칙 객체 지향의 개념과 4대 특성 좋은 도구을 알게됨. 좋은 도구가 있어도 올바르게 사용하는 방법을 알아야 좋은 요리가 나옴. 객체 지향 설계 (Object Oriented Design) 5원칙 SOLID (객체 지향을 올바르게 사용하는 방법) SRP (Single Responsibility Principle) : 단일 책임 원칙 OCP (Open Closed Princinple) : 개방 폐쇄 원칙 LSP (Liskov Substitution Principle) : 리스코프 치환 원칙 ISP (Interface Segregation Principle) : 인터페이스 분리 원칙 DIP (Dependency Inversion Principle) : 의존 역전 원칙 응집도는 높이고 결합도..
[스프링 입문을 위한 자바 객체 지향의 원리와 이해] 4장 : 자바가 확장한 객체 지향 abstract 키워드 - 추상 메서드와 추상 클래스 추상 메서드를 하나라도 가지고 있는 클래스를 추상 클래스라고 부른다. 도대체 왜 몸체가 없이 선언만 있는 메서드가 필요할까?? **문제점** 1. 동물 클래스는 어떻게 울어야 하는지 모른다. (우는 메서드를 정의할 수 없다.. -> 정의하더라도 인스턴스로 생성해선 안된다.) 2. 그런데 동물 참조 변수를 통해 모든 동물을 울게하고 싶다. (하위클래스에서 오버라이드 할 상위 메서드가 필요함...) **해결 방법** 추상 클래스와 추상 메서드 사용하면 1번의 문제를 해결가능하다. 우는 메서드는 하위 클래스에게 구현을 맡길 수 있고 추상클래스는 인스턴스가 될 수 없다. (문제점 모두 해결!!) 2번 문제도 추상 메서드로 하위클래스에게 메서드의 구현을 강제할..

반응형