IoC와 DI 이전 포스팅에서 좋은 객체지향 설계를 위한 SOLID 원칙을 설명하였다. 그리고 다형성만으로는 OCP와 DIP를 지킬 수 없다는 사실도 확인 하였다. 그렇다면 이 문제를 어떻게 해결할 수 있을까? 영화를 제작한다고 가정해보자. 먼저 배우를 섭외하고 결정해야 하는데 누가 가장 적임자겠는가? 일반적으로 이는 감독의 역할이다. 이제 우리의...
좋은 객체 지향 설계의 5가지 원칙(SOLID)
좋은 객체 지향 설계의 5가지 원칙(SOLID) 이전 포스팅에 이어서 좋은 객체 지향에 대해 조금 더 자세히 알아보려 한다. 좋은 소프트웨어를 만들기 위해서는 깔끔한 코드도 중요하겠지만 아키텍처 또한 중요하다. 좋은 아키텍처를 정의하기 위해서는 원칙이 필요한데, 지금부터 설명할 SOLID이다. SOLID 원칙 SOLID 원칙의 목적은 중간 수준...
좋은 객체 지향 프로그래밍이란?
좋은 객체 지향 프로그래밍 이란? 이전 포스팅에서 스프링의 탄생과 배경을 알아보았다. 스프링은 좋은 객체 지향 애플리케이션을 개발할 수 있도록 도와주는 프레임워크라 하였는데 좋은 객체 지향 프로그래밍이란 무엇일까? 객체지향 프로그래밍의 사전적 의미부터 알아보자. 객체지향 프로그래밍 객체지향 프로그래밍은 컴퓨터 프로그램을 명령어의 목...
스프링 이란? (스프링의 탄생과 역사)
스프링 이란? 웹(Web)을 공부하다 보면 가장 많이 나오는 키워드 중 하나는 스프링 프레임워크 일것이다. 많은 IT 업체가 채용 시 스프링 개발 경험을 요구하고 국비지원교육 커리큘럼에 포함되기도 한다. 그리고 공공기관 프로젝트에 권장되는 전자정부 프레임워크도 스프링을 기반으로 만들어졌다. 왜 스프링 프레임워크인가? 프로그램을 만드는 방식은 다양...