반응형

Kotlin 5

Spring - Servlet(서블릿)이란?

ServletServlet이란?Servlet은 자바 클래스로, 웹 서버(예: Tomcat)에서 동작하며 HTTP요청을 처리하고 응답을 생성하는 역할을 합니다.클라이언트(웹 브라우저 등)와 서버 사이의 요청 및 응답 흐름을 관리합니다. 서블릿은 서버에서 실행되다가 웹 브라우저에서 요청을 하면 해당 시능을 수행한 후 웹 브라우저에 결과를 전송합니다. 쉽게 예를들면 로그인 시도를 할 때, 서버가 클라이언트에서 입력되는 요청(Request)을 확인하고 결과를 응답(Response)하는데이러한 역할을 서블릿이 수행합니다. Servlet의 역할요청 처리클라이언트의 HTTP 요청을 수신요청 데이터를 분석(예: 폼 데이터, 쿼리 파라미터 등)비즈니스 로직 수행데이터베이스 접근, 파일 처리, 계산 등을 수행응답 생성HT..

Kotlin 2024.12.24

AOP (Aspect-Oriented Programming) - 관점 지향 프로그래밍

AOP (Aspect-Oriented Programming) - 관점 지향 프로그래밍AOP란?AOP는 소프트웨어 설계 원칙 중 하나로, 애플리케이션 전반에 걸쳐 반복적으로 나타나는 공통 관심사(Cross-Cutting Concerns)를 핵심 비즈니스 로직과 분리하여 관리하는 프로그래밍 기법입니다. 스프링 프레임워크는 AOP를 활용해 로깅, 트랜잭션 관리, 보안과 같은 공통 작업을 모듈화하여 코드의 중복을 줄이고 유지보수를 용이하게 합니다.AOP의 필요성비즈니스 로직에 다음과 같은 공통 작업이 섞여 있다면 코드가 복잡해지고 중복이 늘어납니다.메시드 실행 전/후 로깅데이터 검증보안 인증/인가트랜잭션 처리AOP 적용 전 class UserService { fun createUser(user: Us..

Kotlin 2024.12.23

DI (Dependency Injection) - 의존성 주입

DI (Dependency Injection) - 의존성 주입DI란?객체가 필요로 하는 의존성을 스프링 컨테이너가 주입하는 설계 패턴입니다.DI는 IoC의 구체적인 구현 방식 중 하나로, 객체 간의 의존성을 스프링 컨테이너가 자동으로 설정해줍니다.DI의 핵심객체 간의 의존성을 스프링 컨테이너(ApplicationContext)가 관리.객체를 필요로 하는 클래스는 의존성을 직접 생성하지 않고 외부에서 주입받음주입 방법: 생성자, 필드, Setter(메서드)를 통해 이루어짐DI의 장점결합도 감소클래스 간의 강한 의존성을 없애고 유연성을 높임객체가 내부의 의존성을 생성하지 않으므로, 다른 객체로 쉽게 교체 가능테스트 용이성DI를 통해 실제 객체 대신 Mock 객체를 주입하여 유닛 테스트를 쉽게 작성 가능재사용..

Kotlin 2024.12.20

스프링 IoC(Inversion of Contorl) - 제어의 역전

IoC(Inversion of Contorl) - 제어의 역전IoC란?객체의 생성 및 제어권을 개발자가 아닌 스프링 컨테이너가 관리하는 프로그래밍 원칙입니다.일반적으로 객체 생성과 의존성 관리는 개발자가 직접 수행하지만, IoC에서는 스프링이 이를 대신 관리합니다.IoC의 핵심전통적인 개발 방식에는 객체가 다른 객체를 직접 생성하고 호출합니다.이는 객체 간 강한 결합도를 만들어 유지보수와 확장에 어려움을 초래합니다.IoC는 이 제어권을 스프링 같은 프레임워크로 넘김으로써 객체 간 결합도를 낮추고 유연성을 제공합니다.전통적인 방식(제어권이 개발자에게 있음) class MyService { private val repository = MyRepository() // 직접 객체 생성 fun..

Kotlin 2024.12.20

Kotlin Class 알아보기 1(Class, Data Class, Enum Class, Abstract Class)

Classclass란?코틀린에서 일반 클래스는 특별한 키워드나 제약 없이 선언하는 기본적인 클래스입니다.속성(필드)과 메서드(함수)를 포함할 수 있으며, 객체를 생성하고 관리하는 데 사용됩니다.class 특징생성자코틀린의 클래스는 주 생성자(Primary Constructor)와 보조 생성자(Secondary Constructor)를 가질 수 있습니다.속성과 메서드클래스 내부에는 상태(속성, var/val)와 동작(메서드)을 정의할 수 있습니다.객체 생성new 키워드 없이 클래스 이름 뒤에 괄호 ()를 사용해 객체를 생성합니다.상속기본적으로 코틀린 클래스는 final입니다. 다른 클래스가 상속받을 수 있도록 하려면 open 키워드를 사용해야 합니다.class 사용 예제 1. 기본 문법코틀린에서 클래스를 ..

Kotlin 2024.12.19
반응형