AR삽질러

Spring-객체지향이란?(용어정리) 본문

JAVA/Spring

Spring-객체지향이란?(용어정리)

아랑팡팡 2023. 6. 24. 16:38
728x90

ORM
 Object Relational Mapping
 - 객체와 관계형 데이터베이스의 데이터를 자동으로 매핑해주는 기술.
 ORM은 객체와 데이터베이스 간의 매핑을 수행해 개발자가 SQL쿼리를 직접 작성하지 않고도 객체를 통해서 데이터베이스를 조작할 수 있게 해주는 기술이다.
 - ORM장점 : 
1) 개발자가 SQL쿼리를 직접 생성하지 않고 객체 지향 코드로 데이터베이스를 생성할 수 있어 개발 시간이 단축되고 생산성이 향상된다.
2) 객체와 데이터베이스 간의 매핑을 자동화하여 매핑 작업을 직접 처리하지 않아도 된다.

JPA
 Java Persistence API
 - Java에서 ORM을 구현하기 위한 표준 인터페이스
 - JPA는 객체와 관계형 데이터베이스 간의 매핑을 위한 어노테이션 기반의 설정방식을 제공해 Java클래스와 데이터베이스 테이블간의 매핑을 지정하고 객체와 데이터베이스 간의 변환을 자동으로 처이할 수 있다.

DI
 Dpendency Injection
 - 객체간의 의존관계를 관리하기 위한 디자인패턴.
 - 객체가 다른 객체를 참조할때 직접 생성 및 참조하지 않고 해당 객체에 필요한 의존성을 외부에서 주입하는 방식으로 결합도를 낮추고 재사용이 가능한 코드를 구현할 수 있다.
 - Spring에서 DI를 구현할 때는 Containner가 사용되며 Containner에서 DI를 관리하고 객체들간의 의존성을 해결한다.

Container
 Spring의 Containner는 DI를 관리하고 객체의 생명 주기를 관리한다. Conntainer에서 Bean 객체들을 관리하고 사용할 수 있다.

AOP
 Aspect-Oriented Programming
 - 관점지향 프로그래밍으로 여러 모듈에 걸쳐 반복저으로 발생하는 사항을 분리하여 관리하는 프로그래밍 패러다임.

MVC
 Model - 데이터와 비스즈니로직으로 Java객체로 표현되고 클리이언트와의 상호작용에서 데이터 처리 작업을 담당한다.
 View - 사용자에게 데이터를 표현하는 역할로 HTML, JSP, Thymeleaf 등 템플릿 엔진을 이용해 사용자 인터페이스를 렌더일한다.
 Controller - 클라이언트의 요청을 처리하고 Model과 View간의 상호작용을 조정하는 역할. 

REST
 Representational State Transfer
 - 웹 기반의 분산시스템에서 리소스를 표현하고 상태를 전송하기 위한 아키텍처 스타일.
 RESTful API
 Representational State Transferful Application Programming Interface
 - REST아키텍처 스타일을 따르는 웹 서비스 API로 웹 기반의 분산 시스템에서 리소스를 표현하고 상태를 전송하기 위한 아키텍처 스타일로 클라이언트와 서버 가느이 통신을 위한 규칙과 제약 조건을 제공한다.

JSP VS Spring VS SpringBoot


 JSP vs. Spring: JSP는 웹 페이지의 동적인 부분을 구현하는 데에 사용되는 웹 템플릿 언어인 반면 Spring은 애플리케이션 개발을 위한 프레임워크로서, DI, AOP, MVC 패턴 등을 지원하여 애플리케이션의 구조와 비즈니스 로직을 구성할 수 있다. Spring은 JSP를 사용하여 웹 페이지를 구현하는 데에도 활용될 수 있다.

Spring vs. Spring Boot: Spring은 엔터프라이즈 애플리케이션 개발을 위한 프레임워크로서, 다양한 기능과 설정을 제공한다. Spring Boot는 Spring을 기반으로 한 간편한 애플리케이션 개발을 위한 도구로 Spring Boot는 복잡한 설정을 자동화하고, 내장형 서버를 제공하여 개발자가 빠르게 애플리케이션을 구축하고 실행할 수 있다.

 

SOLID
 - SRP(Single Responsibility Principle) : 단일책임원칙
 클래스나 모듈은 단 하나의 책임만 가져야 한다.
 - OCP(Open / Closed Principle) : 개발-폐쇄 원칙
 클래스나 모듈은 확장에 대해 열려 있어야 하고 변경에 대해서는 닫혀 있어야 한다.
 - LSP(Liskov Substitution Principle) : 리스코프 치환 원칙
 하위 클래스는 상위 클래스를 대체할 수 있어야한다.
 자식 클래스는 부모 클래스로 캐스틍되어 사용되어도 정상적으로 작동해야 한다.
 - ISP(Interface Segregation Principle) : 인터페이스 분리 원칙
 클라이언트가 자신이 사용하지 않는 메서드에 의존하지 않아야 한다.
 - DIP(Dependency Inversion Principle) : 읜존관계 역전 원칙
상위 수준의 모듈은 인터페이스를 통해 하위 수준 모듈과 의존성을 맺어야한다.

728x90
반응형
LIST

'JAVA > Spring' 카테고리의 다른 글

Spring-등급제회원_기본예제(2)  (0) 2023.06.27
Spring-등급제회원_기본예제(1)  (0) 2023.06.27
Spring기초 설명  (0) 2023.04.03
Spring게시판실습  (0) 2023.04.03
Spring Start  (0) 2023.03.24