일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- 의존관계
- 스프링 타입컨버터
- 커밋로그
- BasicErrorController
- 스프링 빈
- DI
- 프로토콜 스택 4계층
- 언체크에러
- 예외추상화
- 스프링 파일 업로드
- 웹 스코프
- 백준 2263
- BeanDefnition
- 깃허브 저장소 합치기
- REST #REST API #HTTP 메서드
- 스프링 예외변환기
- 김영한
- 체크에러
- HTTP메시지
- 서블릿
- ExceptionResolver
- 백준4256
- BeanValidation
- HTTP 응답 메시지
- http
- 스프링
- 객체지향
- 프로토타입 스코프
- HTTP 요청 메시지
- 스프링 컨테이너
- Today
- Total
목록객체지향 (2)
Enthusiasm! Enthusiasm!

객체 지향 설계가 필요한 상황(순수 자바 코드만 이용) 한번 정해지면 바뀔 일이 없는 서비스를 설계할때는 클라이언트 코드에서 구현체에 의존하도록 설계하여도 문제가 되지 않는다. 다만, 위 그림과 같이 어떤 DB와 할인정책을 사용할지 정해지지 않은 상태에서 개발이 진행된다고 가정하자. 어떤게 사용될지도 모르는데 구현체에 의존적인 코드를 설계하는 것은 불가능하다. 이런 상황에서는 인터페이스에만 의존하는 코드를 설계하여 언제든 구현체를 갈아 끼울 수 있도록 코드를 설계해야한다. 객제 지향 원리 적용 특정 구현체에 의존하지 않도록 설계하기 위해서는 관심사를 분리해야한다. 관심사 분리란 무엇일까?하나의 공연에 어떤 배우와 기획자가 있다고 가정하자. 배우는 자신의 배역에만 집중해야하며, 상대 배역이 누구든 자신의 ..

스프링은 좋은 객체 지향 어플리케이션을 개발할 수 있게 도와주는 프레임워크이다. 좋은 객체 지향 프로그래밍이란 객체 지향 프로그래밍의 핵심은 다형성이다. 다형성이란 현실에서 역할(Interface)과 구현(구현체)으로 구분하는 것과 유사하다. 운전자와 자동차 예시를 통해 역할과 구현에 대해 알아보자 우리가 일상에서 운전을 배울 때 자동차의 종류에 따라 운전법을 다르게 배우지는 않는다. 세부적인 기능은 자동차마다 다르겠지만, 큰 틀인 운전법은 달라지지 않는다. 따라서 신형 자동차가 나오더라도 운전자는 신형 자동차를 운전할 수 있다. 이를 객체지향의 관점에서 보면 클라이언트인 운전자는 인터페이스인 자동차에만 의존하며, 인터페이스를 구현한 새로운 구현체가 나와도 클라이언트의 코드 변경 없이 확장이 가능하다. ..