백엔드(37)
-
스프링 부트 프로젝트 생성 후 Controller 생성하기
스프링 부트 프로젝트 실행하기 1. spring initializr에 접속 후 원하는 스펙을 선택 후 프로젝트 파일 다운로드 2. 다운로드 받은 압축파일 압축 해제 후 build.gradle 파일을 사용하는 에디터에서 실행 🔎 Handler 와 Controller 어노테이션에 대하여 알아보자. Handler (핸들러) Spring Boot에서 핸들러(Handler)는 HTTP 요청을 처리하고 응답을 생성하는 데 사용되는 메서드 또는 컴포넌트이다. 웹 주요 로직을 담당하며 클라이언트 요청을 처리하여 적절한 응답을 생성한다. Controller 클래스 : HTTP 요청을 처리하는 요청 핸들러 핸들러 메소드 : 컨트롤러 클래스 내에서 @GetMapping, @RequestMapping 등의 요청 매핑 어노테이..
2023.11.03 -
Spring 계층 구조와 역할
ClientController - 표현 계층 (Presentation Layer)역할 : 클라이언트와 애플리케이션 간의 통신을 처리하고 응답 생성 및 반환기능 URL매핍 요청 파라미터 추출 화면(View)과 비즈니스 로직(Model)를 연결Service - 서비스 계층 (Service Layer)역할 : 주로 비즈니스 로직을 처리, Controller에서 받은 요청을 처리하고 Repository를 통해 데이터를 조작기능비즈니스 로직 구현 트랜잭션 관리 보안 로직 처리 다른 서비스와의 협력 DTO 및 엔티티 매핑예외 처리캐싱 및 최적화 Repository - 데이터 액세스 계층 (DataAccess Layer)역할 : 데이터베이스 쿼리를 실행하고 결과를 반환기능 데이터 액세스 - 데이터 CURD 처리엔티티..
2023.11.01 -
DI, IoC 개념
DI (Dependency Injection) `의존성 주입` 혹은 `의존 관계 주입`이라는 의미로 객체 간의 의존성을 외부에서 주입하는 방식을 의미하며 객체가 직접 필요한 의존 객체를 생성하거나 찾는 대신 외부에서 주입받아 사용하는 디자인 패턴으로 DI를 통해 모듈간의 결합도가 낮아지고 유연성이 높아진다. * 의존 : 한 클래스가 다른 클래스의 메서드를 실행하는 것 IoC (Inversion of Control) `제어의 역전`이라고 불리며 메소드나 객체의 호출작업 및 의존성 관리를 외부에서 결정하도록 하여 프로그램의 제어 흐름을 역전시키는 디자인 패턴으로 객체간의 결합도를 줄이고 유연한 코드를 작성 할 수 있어 유지 보수에 용이 의존성 주입방법 3가지 - Setter 주입 // setter 메소드에 ..
2023.11.01 -
오버라이딩을 구현할 때 @Override 어노테이션을 사용하는 이유
오버라이딩 (overriding) 오버라이딩이란 부모 클래스에서 사용되고 있는 메서드를 자식 클래스에서 같은 메서드명, 같은 매개변수의 개수와 타입으로 재정의한 것을 의미 어노테이션 (Annotation) 어노테이션이란 사전적 의미로는 주석, 자바에서는 코드 사이에 @ 기호를 앞에 부여 의미를 부여하는 메타데이터 종류에는 표준 어노테이션 / 메타 어노테이션 / 사용자정의 어노테이션이 있다. * 메타데이터 : 애리케이션이 처리해야 할 데이터가 아닌 컴파일 과정과 실행 과정에서 코드를 어떻게 컴파일하고 처리할 것인지 알려주는 정보. @Override 어노테이션 @Override 어노테이션이란 자바에서 메서드 오버라이딩을 명시적으로 표시하고 검사하는데 사용되는 어노테이션으로 메서드 선언 코드 위에 추가되며 컴..
2023.10.24 -
인터페이스가 가지고 있는 객체 지향의 특징
인터페이스 다른 클래스를 작성할 때 기본이 되는 틀을 제공하면서, 다른 클래스 사이의 중간 매개 역할까지 담당하는 일종의 추상 클래스를 의미 자바의 인터페이스는 추상 메서드와 상수로만 이루어져있음 interface 키워드를 통해 선언, implements 키워드를 통해 일반 클래스에서 인터페이스를 구현 예시 코드 interface 인터페이스이름 { // 모든 필드는 public static final 이어야 하며, 생략 가능. public static final 타입 상수이름 = 값; // 모든 메서드는 public abstract 이어야 하며, 생략 가능 public abstract 타입 메서드이름(매개변수목록); void resetGame(); } // 클래스에서 인터페이스를 상속하는 코드 publi..
2023.10.21 -
객체 지향의 4가지 특징
객체 지향 프로그래밍(Object-Oriented Programming, OOP) 객체 지향 프로그래밍이란 컴퓨터 프로그램을 객체(Object)라는 기본 단위로 나눈 후 객체들 간의 유기적인 상호작용을 통해 로직을 구성하는 프로그래밍 방법이다. 클래스와 객체의 차이 클래스(인스턴스) 1. 객체를 만들기 위한 설계도 or 틀 2. 객체의 상태를 나타내는 필드와 행동을 나타내는 메소드로 구성 객체 1. 클래스의 인스턴스라고도 불림 2. 소프트웨어 세계에 구현할 대상으로, 클래스에 선언된 모양 그대로 생성된 실체 인스턴스 1. 객체를 소프트웨어에 실체화 한것을 인스턴스라고 부름 2. 설계도를 바탕으로 소프트웨어 세계에 구현된 구체적인 실체로 실체화된 인스턴스는 메모리에 할당 객체지향의 4가지 특징 1. 추상화..
2023.10.20