분류 전체보기

Cloud-DevLog
[디자인 패턴] 템플릿 메서드 패턴(Template Method Pattern)
템플릿 메서드 패턴(Template Method Pattern)이란?템플릿 메서드 패턴은 디자인 패턴(Design Pattern)중 행위 패턴(Behavioral Pattern)이다. 행위 패턴 : 클래스나 객체들이 서로 상호작용하는 방법이나 어떤 알고리즘, 작업을 어떤 객체에 할당하는 것이 좋을지 정의하는 패턴이다. 즉, 객체나 클래스의 교류 방법에 대해 정의하는 것이다. 하나의 객체만으로 수행할 수 없는 작업을 여러 객체로 나누면서 결합도를 최소화하게 해준다. 행위 클래스 패턴은 상속을 통해 알고리즘, 제어 흐름을 기술하고, 행위 객체 해턴은 하나의 작업을 수행하기 위해 객체 집합이 어떻게 협력하는지를 기술한다. GoF 디자인 패턴에 의하면 템플릿 메서드 패턴은 상위클래스는 알고리즘의 골격만을 작성하..
[Spring] IoC(Inversion of Control 제어의 역전), DI(Dependency Injection 의존성 주입), 의존성 주입 3가지 방법
·Spring
IoC(Inversion of Control, 제어의 역전)객체 생성 및 의존성 주입 등의 제어를 개발자가 아닌 프레임워크가 담당하도록 하는 설계 원칙이다.사용할 객체를 직접 생성하지 않고, 객체 생명주기 관리를 외부에 위임한다.이는 애플리케이션의 구조를 더 유연하고 테스트 가능하게 만든다.즉, IoC의 핵심 개념은 애플리케이션의 제어 흐름을 프레임워크가 관리한다는 것이다.이를 통해 객체 간 결합도를 낮추고, 코드의 재사용성과 유연성을 높인다. 스프링에서의 IoC스프링에서는 스프링 컨테이너가 오브젝트인 빈(Bean)의 생성, 의존 관계 설정 등의 작업을 스프링 컨테이너가 수행한다.스프링에서 IoC, 제어의 역전은 코드 대신 객체에 대한 제어권을 스프링 컨테이너에 넘겨 스프링 컨테이너가 흐름을 제어하게 된..
[Spring] 스프링 프레임워크(Spring Framework)란?
·Spring
스프링 유래 및 어원 과거 EJB라는 기술을 통해 웹 애플리케이션을 개발하였다.EJB(Enterprise Java Bean) : 엔터프라이즈급 애플리케이션 개발을 단순화하기 위해 발표한 스펙이다. Java bean이라는 자바 객체를 재사용할 수 있도록 컴포넌트화 시킬 수 있는 코딩 방식을 활용하였으며, 비즈니스 객체들을 관리하는 컨테이너를 만들어 컨테이너로부터 객체를 받는 식으로 관리한다.하지만, 서비스는 실제 비즈니스 로직보다 EJB 컨테이너를 사용하기 위한 상속, 구현할 클래스 등이 많아 불편하다. 즉, 비즈니스 로직에 특정 기술이 종속된다는 문제점이 있었다. 2002년 로드 존슨(Rod Johnson)에 의해 처음 개발되었으며, 그의 책 "Expert One-on-One J2EE Design and..
[OOP] SOLID 객체 지향 설계 5가지 원칙
SOLID란? 객체 지향 설계 5가지 원칙SOLID 원칙이란, 객체 지향 프로그래밍에서 소프트웨어 설계를 더 이해하기 쉽고 유지보수가 용이하며 확장 가능하게 만드는 다섯 가지 기본 원칙이다. 이 원칙들은 코드 품질을 높이고, 코드 변경 시 발생할 수 있는 오류를 최소화하는 데 도움을 준다. 그리고 디자인 패턴은 SOLID 원칙을 기반으로 만들어진 것이다.1. SRP(Single Responsibility Principle) 단일 책임 원칙클래스(객체)는 단 하나의 책임(기능)만 가져야 하며, 변경되어야 하는 이유가 오직 하나뿐이어야 한다는 원칙이다.하나의 클래스 : 하나의 기능 담당하나의 클래스에 여러 기능이 있다면 수정 시 변경 사항이 많아지며 가독성 및 유지보수성이 떨어진다.클래스가 변경되는 이유는 ..
[디자인 패턴] 팩토리 메서드 패턴(Factory Method Pattern)
팩토리 메서드 패턴(Factory Method Pattern)이란?팩토리 메서드 패턴은 디자인 패턴(Design Pattern) 중 생성 패턴(Creational Pattern)이다.생성 패턴 : 객체의 생성과 관련된 패턴이며, 객체의 생성 절차를 추상화하는 패턴객체를 생성 및 합성하는 방법과 객체의 표현 방법과 시스템을 분리한다. GoF 디자인 패턴에 의하면 팩토리 메서드 패턴은 객체 생성을 서브 클래스로 위임하여 캡슐화한다고 한다. 팩토리 메서드 패턴 : 객체를 생성하는 인터페이스를 정의하지만, 어떤 클래스의 인스턴스를 만들지는 서브 클래스가 결정하도록 하는 디자인 패턴이다. 따라서 서브 클래스에게 클래스 인스턴스 생성과 관련한 것을 맡긴다. 이는 객체 생성 코드를 캡슐화하고, 새로운 객체가 추가되더..
[Java] Persistence Framework : SQL Mapper VS ORM
·Java
영속성(Persistence)이란?영속성(Persistence)은 프로그램이 종료되거나 재시작 되더라도 데이터가 지속적으로 유지되는 특성을 말한다. 쉽게 말해, 데이터를 영구 저장소인 파일 시스템, 데이터베이스 등에 저장하는 것이다.JDBC VS Persistence FrameworkJDBC (Java Database Connectivity)JDBC는 Java Database Connectivity로 Java에서 데이터베이스와 연결하여 데이터 저장 및 수정, 저장된 데이터를 사용할 수 있게 해주는 Java API이다. SQL 쿼리를 직접 작성하고 실행할 수 있는 기능을 제공한다.JDBC 예제 코드import java.sql.*;public class SelectExample { public stat..
[Java] 박싱(Boxing), 언박싱(UnBoxing), 오토박싱(AutoBoxing), 오토언박싱(AutoUnBoxing), 래퍼 클래스(Wrapper Class)
·Java
Java 데이터 타입Java의 데이터 타입은 크게 2가지로 나뉜다. 원시 타입(Primitive Type)과 참조 타입(Reference Type)으로 존재하며, 종종 원시 타입으로 사용하는 데이터를 객체로 표현해야 하는 경우가 있다. 원시 타입은 int, char, boolean, float, double 등의 기본 데이터 타입이다. 이 타입들은 래퍼 클래스(Wrapper Class)를 활용해서 객체로 사용할 수 있다.래퍼 클래스(Wrapper Class)래퍼 클래스(Wrapper Class)는 원시 타입을 객체로 사용하기 위해 사용하는 클래스이다.Java는 모든 원시 타입을 객체로 만들 수 있다.래퍼 클래스는 값을 포장해서 객체로 만드는 것이다.래퍼 클래스는 java.lang package에서 제공된..
[Java] 변수 원시 타입(Primitive Type) VS 참조 타입(Reference Type)
·Java
Java에서는 데이터 타입이 2가지로 나뉜다.Java 변수 원시 타입(Primitive Type)원시 타입(Primitive Type)은 정수, 실수, 문자, 논리 리터럴 등의 실제 데이터 값을 저장하는 타입이다.JVM의 정적 메모리 Stack 영역에 변수 이름의 메모리 공간이 생성되고 실제 값이 데이터 값이 들어간다.원시 타입은 Null을 담을 수 없으며, 값이 없으면 default 값을 반환한다. (예를 들어, int는 0, boolean은 false)원시 타입은 제네릭(generic) 타입에서 사용할 수 없다.종류데이터형크기(byte/bit)표현 범위논리형boolean1/8true or false문자형char2/16'\u0000' ~ \uFFFF' 16bit 유니코드 문자 데이터정수형byte1/8-..
cloud-grace
'분류 전체보기' 카테고리의 글 목록 (3 Page)