객체지향 프로그래밍작은 단위의 객체를 만들고 객체들을 하나씩 조립해서 완성된 프로그램을 만드는 기법을 말한다.유연하고 변경이 쉽다는 특징이 있다.자바에서의 객체란 필드(속성)와 메소드(동작)으로 구성된다.
Dependency Injection(의존성 주입)의존성주입이란 코드를 단순화시키고 개방-폐쇄(OCP) 원칙에 따라 프로그래밍을 하는 것을 말한다.PricePolicy는 interface Price의 구현 클래스다.또 다른 인터페이스인 OrderService를구현한 클
여기서 하나의 메소드에는 static이 붙었다.static이 붙은 메소드는 어떤 의미인걸까?static이 붙은 메소드는 class영역의 메소드로 인스턴스 메소드와는 다르다.즉, 인스턴스를 생성하지 않아도 호출이 가능하다.반면 인스턴스메소드의 경우에는 새로 인스턴스를 생
스프링(Spring)스프링을 사용해 객체 지향 설계를 할 수 있는데 스프링은 다형성, OCP, DIP를 가능하게 만들어준다. 스프링 프레임워크를 사용해 코드를 작성하면 기존 코드의 변경 없이 기능을 확장할 수 있으며 하나의 부품을 갈아끼우는 것처럼 수월하게 확장성 있는
스프링을 사용하지 않고 순수 자바코드로만 개발을하면 객체지향의 원리중 OCP(Open Closed Principle)개방 폐쇄 원칙과 DIP(Dependency Inversion Principle)의존 역전 원칙을 지키지 못하게된다. 다음의 문제를 살펴보고 스프링 프레
기존 코드는 OrderServiceImpl에서 인터페이스 뿐만 아니라 구체 클래스에도 의존하고 있었기 때문에 객체 지향의 원리에 어긋났었다. 이번에는 그 코드를 객체 지향의 원리에 따라변경해보며 스프링 프레임워크의 기능을 자세히 살펴보려고 한다.
객체 지향 원리 적용(2)에서 사용 영역의 코드와 구성영역의 코드 **AppConfig**를 만들었다.이번에는 할인 정책을 변경하려 하는데 기존에는 사용영역에서 모든 코드를 변경했다면 이제는 사용 영역의 코드는 전혀 손댈 필요 없이 **구성 영역인 AppConfig에서