일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- String
- BFS
- 인프런
- web
- BASIC
- Algorithm
- Algospot
- graph
- 백준
- php
- dfs
- 정수론
- programmers
- Cleancode
- 생활코딩
- 따라하며 배우는 C언어
- JavaScript
- greedy
- DP
- 따라하면서 배우는 C언어
- server
- C
- 따배씨
- 종만북
- udemy
- sorting
- Math
- Python
- C언어
- BOJ
- Today
- Total
목록Java (6)
몽상실현개발주의
Java 컬렉션 프레임워크는 데이터를 그룹으로 관리하고 조작하는 데 사용되는 인터페이스와 클래스를 제공하는 중요한 구성 요소입니다. 이번 포스트에서는 Java의 주요 컬렉션 인터페이스와 그들의 상속 관계에 대해 알아보겠습니다.주요 컬렉션 인터페이스Collection Interface:모든 컬렉션 클래스가 구현해야 하는 기본 인터페이스입니다.주요 메서드: add(), remove(), size(), clear(), contains(), isEmpty(), iterator(), 등.List Interface:순서가 있는 요소의 컬렉션을 정의합니다. 중복 요소를 허용합니다.구현 클래스: ArrayList, LinkedList, Vector, Stack.주요 메서드: get(), set(), add(), rem..
Java의 리플렉션(Reflection) 기능은 클래스의 구조를 동적으로 조사하고 조작할 수 있는 강력한 기능으로, 프로그램의 유연성과 확장성을 대폭 향상시킬 수 있습니다. 하지만, 리플렉션을 통한 private 필드나 메소드에 대한 접근은 심각한 보안 문제를 야기할 수 있어, 사용 시 많은 주의가 필요합니다 리플렉션의 기본 사용Java에서 리플렉션을 이용해 클래스의 정보를 얻거나, 객체를 생성하고 메소드를 호출할 수 있습니다. 예를 들어, java.util.Date 클래스의 모든 메소드를 조회하는 간단한 예제는 다음과 같습니다import java.lang.reflect.Method;import java.util.Date;public class SimpleReflectionExample { publ..
Spring Boot는 Java 개발자들에게 강력한 프레임워크를 제공하여, 비즈니스 애플리케이션을 빠르고 효율적으로 개발할 수 있게 돕습니다. 특히, 의존성 주입(Dependency Injection, DI)은 Spring Boot의 핵심 기능 중 하나로, 애플리케이션의 결합도를 낮추고, 코드의 재사용성을 높이며, 테스팅을 용이하게 합니다. 이 글에서는 Spring Boot에서 사용되는 두 가지 주요 의존성 주입 방식인 @Bean과 @Autowired에 대해 자세히 알아보겠습니다. # @Bean 과 @Configuration 의 사용@Bean 어노테이션은 메소드에 사용되어, 해당 메소드가 Bean 객체를 생성하고 반환하는 것을 나타냅니다.이 메소드들은 주로 @Configuration 이 붙은 클래스 내에..
소프트웨어 개발에서 객체의 생성은 일반적이면서도 복잡한 과제 중 하나입니다.특히 객체가 많은 매개변수를 필요로 할 때, 이들을 효과적으로 관리하는 것은 중요합니다. 이러한 상황에서 빌더 패턴은 매우 유용하게 사용될 수 있습니다.빌더 패턴은 복잡한 객체의 생성을 단순화하고 코드의 가독성을 높이며, 객체 생성 과정에서의 오류를 줄이는 데 도움을 줍니다. 빌더 패턴이란?빌더 패턴은 생성 디자인 패턴의 일종으로, 복잡한 객체의 생성 과정을 여러 단계로 나누어 처리합니다.이 패턴의 주요 목적은 생성자의 매개변수가 많을 때 발생할 수 있는 복잡성을 줄이고, 사용자가 객체를 더 쉽게 생성할 수 있도록 하는 것입니다. # 빌더 패턴의 구성 요소Product: 생성할 최종 객체.Builder: 객체의 각 부분을 생성하는..
Lombok?Lombok은 자바 개발을 더 편리하게 하기 위한 라이브러리로, 반복적으로 작성해야 하는 코드를 줄여주는 어노테이션 기반의 도구입니다. Spring 프레임워크와 함께 사용될 때, Lombok은 개발자가 보일러플레이트 코드를 줄이고, 더 깔끔하고 관리하기 쉬운 코드를 작성할 수 있게 돕습니다.@Getter / @Setter: 필드에 대한 getter 및 setter 메소드 자동 생성@NoArgsConstructor, @RequiredArgsConstructor, @AllArgsConstructor: 생성자 자동 생성@Data: 클래스에 대한 getter, setter, toString, equals, hashCode 메소드를 한 번에 생성@Builder: 빌더 패턴 구현 자동화@Slf4j: 로..
VO와 DTO의 정의와 사용 목적Value Object (VO)불변성: VO는 객체가 생성된 이후 내부 상태가 변경되지 않도록 설계된 불변 객체입니다.용도: VO는 주로 도메인 모델 내에서 비즈니스 로직을 수행하며, 도메인의 핵심 개념을 표현합니다. Data Transfer Object (DTO)가변성: DTO는 필요에 따라 속성을 변경할 수 있으며, 데이터 전송을 최적화하기 위해 설계되었습니다.용도: 주로 계층 간 데이터 전송을 최적화하고, 사용자 인터페이스와 비즈니스 로직 사이에서 데이터를 운반합니다. 예제: 사용자 정보 관리 애플리케이션사용자의 정보를 관리하는 간단한 CRUD 애플리케이션을 구현하여 각 CRUD 작업에 VO와 DTO를 어떻게 활용하는지 설명합니다.(Mybatis 를 사용하는 환경)..