[inflearn] 스프링 핵심 원리 - 기본편/섹션 1 - 객체지향 설계와 스프링4 4. 객체 지향 설계와 스프링 지난 포스트까지 좋은 객체 지향 프로그래밍에 대해서 정리했다. 좋은 객체 지향 프로그래밍은 유연한 변경이 가능하도록 프로그램을 설계하여 개발 생산성을 높이는 것이었다. 그러기 위해선 객체 지향의 다형성을 활용하고 좋은 객체 지향 설계의 5가지 원칙을 지킬 필요가 있었다. 하지만 객체 지향의 다형성만으로는 SOLID 중 OCP, DIP를 지킬 수 없었다. 이를 해결하기 위해 별도의 조치가 필요했고, 스프링을 통해 그러한 조치를 취하는 것이 가능하다. 이번 포스트는 별다른 내용은 없고, 객체 지향 설계와 스프링의 관계, 스프링이 객체 지향 설계를 지원하는 방법 등을 정리한다. 객체 지향 설계와 스프링 객체 지향 설계 객체 지향 설계에 대해 정리하자면, 먼저 모든 설계에 역할과 구현을 분리하자. 자동차의 예시.. 2023. 6. 29. 3. 좋은 객체 지향 설계의 5가지 원칙 (SOLID) 지난 포스트에서 좋은 객체 지향 프로그래밍이란 프로그램의 유연한 변경이 가능하도록 하여 개발 생산성을 높이는 것이라 하였다. 그리고 이것을 위해서는 객체 지향의 다형성을 극대화하고, 객체 지향 설계의 5가지 원칙을 지켜야 한다. 지난 포스트에서 다형성에 대해 정리하였고, 이 포스트에서는 이어서 객체 지향 설계의 5가지 원칙에 대해 정리한다. SOLID 클린 코드로 유명한 로버트 마틴이 정리한 좋은 객체 지향 설계의 5가지 원칙이다. 각각의 원칙은 기존에 존재하였으나, 좋은 객체 지향 설계라는 목적 아래 모아놓은 것. 좋은 객체 지향 설계의 5가지 원칙은 다음과 같으며, 각 원칙의 앞 글자를 따서 SOLID라 한다. SRP (Single Responsibility Principle, 단일 책임 원칙) OC.. 2023. 6. 29. 2. 좋은 객체 지향 프로그래밍 지난 포스트에서 스프링은 객체 지향 어플리케이션의 개발을 돕는, 좋은 객체 지향 프로그래밍을 할 수 있도록 돕는 프레임워크라고 하였다. 그렇다면 좋은 객체 지향 프로그래밍이란 무엇일까? 2-1. 객체 지향 프로그래밍 위키백과에 따르면 객체 지향 프로그래밍이란 프로그래밍 패러다임의 하나로, 컴퓨터 프로그램을 명령어의 목록으로 보는 시각에서 벗어나 여러 개의 독립된 단위, 즉 "객체"들의 모임으로 파악하고자 하는 것이다. 각각의 객체는 메시지를 주고받고, 데이터를 처리할 수 있다. 라고 정의한다. 사실 객체 지향 프로그램은 C언어 등으로 작성된 절차 지향 프로그램에 비해 속도가 느리다. 모든 연산을 객체 간의 상호작용, 즉 메시지 교환으로 처리하기 때문이다. 간단한 사칙연산조차 객체를 생성하고 메서드를 호출.. 2023. 6. 23. 1. 스프링이란 이 카테고리의 포스트는 인프런 스프링 완전정복 로드맵 중 스프링 핵심-기본 편을 수강하며 정리한 내용입니다. 1-1. 스프링의 탄생 EJB 스프링이 등장하기 이전 자바 개발의 표준 기술은 EJB (Enterprise Java Beans)로, 각종 기능이 종합된 기술이었으나 복잡하고, 유연하지 못하고, 느리며, 비쌌다. 사용하기 오죽 불편했으면 EJB 대신 순수하게 자바 코드로만 프로그램을 작성하자는 이야기까지 나돌 정도였다고. 악명이 자자했던 모양이다. spring과 hibernate 이러한 EJB의 불편함을 해소하고자 spring과 hibernate가 오픈소스로 개발되기 시작하였고, 이것이 현재 사실상 자바 개발의 표준 기술인 스프링과 JPA의 시작이 되었다. JPA JPA (Java Persistan.. 2023. 6. 21. 이전 1 다음