본문 바로가기

Spring/스프링 핵심 원리 - 기본

(12)
01. 객체 지향 설계와 스프링 - (4) 좋은 객체 지향 설계의 5가지 원칙(SOLID) 💡 본 게시글은 김영한님의 인프런(Inflearn) 강의 스프링 핵심 원리 - 기본편에 대해 공부하고, 정리한 내용입니다. 1) SOLID (1) SOLID란? 'SOLID'라는 용어는 소프트웨어 엔지니어링의 주요 원칙들을 대표하는 약어로, 이는 로버트 C. 마틴(Robert C. Martin)이 2000년대 초기에 제시한 개념입니다. SOLID는 'Single Responsibility', 'Open-Closed', 'Liskov Substitution', 'Interface Segregation', 'Dependency Inversion'이라는 다섯 가지 핵심 원칙의 각각 첫 번째 글자들을 모아서 만들어진 단어입니다. (2) SOLID 이전의 소프트웨어 개발 방식 초기의 소프트웨어 개발 방식은 대부분..
01. 객체 지향 설계와 스프링 - (3) 좋은 객체 지향 프로그래밍이란? 💡 본 게시글은 김영한님의 인프런(Inflearn) 강의 스프링 핵심 원리 - 기본편에 대해 공부하고, 정리한 내용입니다. 1) 좋은 객체 지향 프로그래밍(OOP) 이란?(1) 객체 지향 프로그래밍컴퓨터 프로그램을 독립된 단위인 '객체들의 집합'으로 바라보는 프로그래밍 방법론입니다. 이 각각의 객체들은 서로 메시지를 주고 받으며 데이터를 처리하는 협력체를 구성하게 됩니다. 이렇게 만들어진 프로그램은 유연하게 변경이 가능하므로 대규모 소프트웨어 개발에 주로 사용됩니다.'유연하게 변경이 가능하다'는 것은, 프로그램의 개별 컴포넌트를 쉽게 수정하거나 교체할 수 있다는 의미입니다.2) 다형성(Polymorphism)(1) 다형성이란?객체 지향 프로그래밍의 중요한 원칙 중 하나로, 실세계를 역할과 구현으로 구분..
01. 객체 지향 설계와 스프링 - (2) 스프링이란? 💡 본 게시글은 김영한님의 인프런(Inflearn) 강의 스프링 핵심 원리 - 기본편에 대해 공부하고, 정리한 내용입니다. 1) 스프링 생태계 스프링 프레임워크(Spring Framework) : 자바 플랫폼을 위한 오픈 소스 애플리케이션 프레임워크로, 엔터프라이즈 시스템 개발의 복잡성을 낮추고 개발자가 더 효율적으로 애플리케이션을 개발할 수 있도록 지원합니다. 스프링 부트(Spring Boot) : 스프링 기반의 애플리케이션을 빠르게 구축할 수 있도록 지원하는 도구로, 복잡한 설정 없이 바로 실행 가능한 독립형 스프링 애플리케이션을 만들 수 있습니다. 스프링 데이터(Spring Data) : 데이터 접근 기술에 대한 일관된 프로그래밍 모델을 제공하며, 유연성과 강력한 저장소 접근 기능을 제공합니다. J..
01. 객체 지향 설계와 스프링 - (1) 자바 진영의 추운 겨울과 스프링의 탄생 (이야기) 💡 본 게시글은 김영한님의 인프런(Inflearn) 강의 스프링 핵심 원리 - 기본편에 대해 공부하고, 정리한 내용입니다. 1) 자바 생태계의 한겨울 2000년대 초기 자바 표준 모델로서의 EJB(Enterprise Java Bean)가 자바 개발 세계를 통치하던 시절이었습니다. 이 시대의 자바 개발자들은 복잡하고 어려운 EJB로 인해 수많은 난관에 부딪혔습니다. EJB가 자바 생태계를 독점하는 동안, 개발자들은 끊임없이 이어지는 야근을 감당해야 했고, 그들에게 허락된 위안은 커피 한 잔뿐이었습니다. 이렇게 자바 생태계는 EJB라는 거대한 독재자가 남긴 그림자 속에서 추운 겨울을 견디어 나가고 있었습니다. EJB(Enterprise Java Bean)는 스프링, JPA 등 다양한 기능들을 모두 포함한 '..