일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Lazy loading
- 혼공
- 혼공자바
- 혼공컴운
- 인터페이스
- java
- 네트워크
- 자율학습
- 인프런
- Access Modifier
- cluster index
- noncluster index
- 스프링 부트 3
- Proxy Object
- 접근 제어자
- HashMap
- entrySet
- 혼공학습단
- 0 시작
- 오블완
- types
- literal
- Spring Data JPA
- Wildcard
- 티스토리챌린지
- Interface
- 접근제어자
- dotnet
- 나도코딩
- Functional Interfaces
- Today
- Total
목록분류 전체보기 (59)
지금을 사는 사람
HTML 삽입 미리보기할 수 없는 소스 소개: 소프트웨어 디자인에서 객체 생성 부분을 캡슐화하고, 클라이언트 코드로부터 객체의 생성을 분리해내는 Factory Pattern은 유연하고 확장 가능한 코드를 작성하는 데 기여합니다. 이 블로그에서는 Factory Pattern에 대해 자세히 알아보겠습니다. 1. Factory Pattern이란? 개념: Factory Pattern은 객체 생성을 처리하는 인터페이스를 정의하고, 객체의 생성을 서브 클래스에 위임하여 객체 생성을 캡슐화하는 디자인 패턴입니다. 목적: 객체 생성 코드를 클라이언트 코드로부터 분리하여 코드 유지보수성을 향상시키고, 객체 생성 로직의 확장을 용이하게 합니다. 2. Factory Pattern의 구성 요소 Product(제품): 생성될 ..
HTML 삽입 미리보기할 수 없는 소스 소개: Domain Driven Design (DDD)은 복잡한 소프트웨어 시스템을 설계할 때 도움이 되는 전략적이고 효과적인 접근 방식입니다. 이 블로그에서는 DDD의 핵심 개념, 원칙, 그리고 주요 구성 요소에 대해 알아보겠습니다. 1. DDD의 개념 도메인 주도 디자인: DDD는 소프트웨어를 개발할 때 비즈니스 도메인에 중점을 두고 설계하는 방법론입니다. 도메인은 비즈니스와 관련된 문제 영역을 의미하며, DDD는 이 도메인을 이해하고 모델링하는 데 초점을 둡니다. 2. DDD의 핵심 원칙 도메인 모델: 시스템의 핵심이 되는 도메인 모델을 구축하고 이를 바탕으로 설계합니다. 언어 융통성: 비즈니스 전문가와 개발자 간의 의사소통을 촉진하기 위해 도메인 모델의 언어..

HTML 삽입 미리보기할 수 없는 소스 소개: Java 언어의 강력한 특징 중 하나는 애너테이션(Annotation)입니다. 애너테이션은 코드에 메타데이터를 부여하여 컴파일러, 개발 도구, 런타임 환경 등에게 정보를 전달하는 강력한 도구로 활용됩니다. 이 블로그에서는 Java에서의 애너테이션에 대해 자세히 알아보겠습니다. 1. 애너테이션이란? 정의: 애너테이션은 Java 소스 코드에 메타데이터를 추가하는 특별한 형태의 주석입니다. @ 기호를 사용하여 표현되며, 컴파일러에게 정보를 전달하거나 런타임에 동작을 변경하는 등의 역할을 수행합니다. 2. 애너테이션의 사용 예시 // 간단한 애너테이션 사용 @Deprecated public class OldCode { // 클래스 내용... } @Deprecated..
HTML 삽입 미리보기할 수 없는 소스 소개: 객체 생성에는 여러 매개변수가 필요한 경우가 종종 있습니다. 이런 복잡한 객체 생성을 다루기 위한 디자인 패턴 중 하나인 "빌더 패턴"은 객체를 생성하고 초기화하는 과정을 분리하여 코드를 간결하고 유연하게 만드는 효과적인 방법을 제공합니다. 이 블로그에서는 빌더 패턴에 대해 자세히 알아보겠습니다. 1. 객체 생성의 어려움 객체가 많은 속성을 가지고 있거나 특정 조건에 따라 다양한 초기화가 필요한 경우, 생성자의 매개변수가 많아지고 코드의 가독성이 떨어질 수 있습니다. 또한, 여러 선택적 매개변수가 있는 경우 생성자의 오버로딩이 불가피하게 발생할 수 있습니다. // 매개변수가 많은 생성자 Person person = new Person("John", 25, "..

HTML 삽입 미리보기할 수 없는 소스 1. 역사적, 기술적 이유: 메모리 주소 계산: 초기 컴퓨터 아키텍처에서는 배열의 첫 번째 요소의 주소를 계산하기 위해 0부터 시작하는 것이 더 편리했습니다. 예를 들어, 배열의 첫 번째 요소는 base_address + (element_size * 0)으로 계산할 수 있었습니다. 2. 프로그래밍의 편의성과 일관성: 자연스러운 표현: 0부터 시작하는 인덱스는 자연수의 나열을 자연스럽게 표현합니다. 예를 들어, 첫 번째 요소를 array[0]로 표현하는 것은 직관적입니다. 간편한 연산: 배열의 시작 인덱스를 0으로 정의하면 인덱스 연산이 간단해집니다. array[i]는 base_address + (element_size * i)로 계산됩니다. 일관성: 다양한 프로그래..

HTML 삽입 미리보기할 수 없는 소스 소개: Java Virtual Machine (JVM)은 Java 언어로 작성된 프로그램을 실행하기 위한 핵심 컴포넌트로, 프로그램의 이식성과 보안을 강화하는 역할을 합니다. 이 블로그에서는 JVM의 구조와 동작 메커니즘에 대해 자세히 살펴보겠습니다. 1. JVM이란? 정의: JVM은 Java 프로그램을 실행하는 가상 컴퓨터로, 자바 언어로 작성된 바이트코드를 기계어로 변환하고 실행합니다. 목적: 자바의 주요 강점 중 하나인 "Write Once, Run Anywhere"를 가능하게 합니다. 2. JVM 구조 Class Loader: 자바 클래스 파일(.class)을 JVM으로 동적으로 로드하는 역할을 합니다. 로딩, 링크, 초기화의 단계로 구성됩니다. Runtim..

HTML 삽입 미리보기할 수 없는 소스 소개: Java Collection Framework은 자료를 효과적으로 저장하고 관리하기 위한 다양한 자료 구조를 제공하는 라이브러리입니다. 이 글에서는 Java의 Collection Framework에 대해 소개하고, 주요 인터페이스와 구현체, 그리고 각각의 특징에 대해 알아보겠습니다. 1. Collection Framework 개요 컬렉션 프레임워크란? Java Collection Framework은 데이터를 저장하고 처리하는 데에 필요한 클래스와 인터페이스를 제공하는 라이브러리입니다. 자료 구조를 효율적으로 활용하고, 데이터를 다루는 데 필요한 다양한 기능을 제공합니다. 주요 인터페이스: Collection: 모든 컬렉션 클래스가 구현해야 하는 기본 인터페이..

HTML 삽입 미리보기할 수 없는 소스 소개: Java에서는 리터럴 상수를 관리하는데 상수풀(Literal Pool)이라는 메커니즘이 사용됩니다. 이는 자바의 특징 중 하나로, 리터럴 상수들을 공유하여 메모리를 효율적으로 활용하는 방식입니다. 이 글에서는 Java의 Literal Pool에 대해 알아보고, 어떻게 동작하며 코드에서 어떻게 활용되는지 살펴보겠습니다. 1. 리터럴 상수란? 리터럴 상수는 코드에 직접 입력된 값으로, 예를 들어 문자열, 숫자, 불리언 값 등이 해당됩니다. 이러한 값들은 컴파일러에 의해 상수풀에 저장되어 재활용됩니다. 2. 상수풀의 개념 문자열 상수풀(String Literal Pool): Java에서 문자열은 불변(immutable)하며, 같은 문자열 리터럴은 상수풀에 저장되어..

HTML 삽입 미리보기할 수 없는 소스 소개: Java 8부터 도입된 람다 표현식은 함수형 프로그래밍 스타일을 도입하여 Java 코드를 간결하게 만들고, 컬렉션을 처리하거나 다양한 인터페이스를 구현하는 데 효율적인 방법을 제공합니다. 이 글에서는 Java의 람다 표현식에 대해 알아보고, 간단한 예시를 통해 어떻게 사용되는지 살펴보겠습니다. 1. 람다 표현식이란? 람다 표현식은 익명 함수를 나타내며, 메서드를 하나의 식으로 표현할 수 있는 간결한 방법을 제공합니다. 주로 함수형 인터페이스를 구현할 때 사용되며, 다음은 기본적인 형태입니다. (parameter) -> expression 2. 간단한 문법 매개변수가 없는 경우: () -> System.out.println("Hello, Lambda!"); 하..

HTML 삽입 미리보기할 수 없는 소스 소개: Java에서는 클래스를 정의하고 객체를 생성하는 데에 있어서 익명 클래스(Anonymous Class)를 사용할 수 있습니다. 익명 클래스는 한 번만 사용되어야 하는 간단한 클래스를 정의하고 인스턴스화하는 편리한 방법을 제공합니다. 이 글에서는 Java 익명 클래스에 대해 알아보고, 사용 예시를 통해 어떻게 활용되는지 살펴보겠습니다. 1. 익명 클래스란? 익명 클래스는 이름이 없는 클래스로, 클래스 정의와 객체 생성을 동시에 처리하는 방법입니다. 주로 인터페이스를 구현하거나 추상 클래스를 확장할 때 사용됩니다. 2. 기본 문법 인터페이스를 구현하는 익명 클래스: MyInterface myObject = new MyInterface() { @Override p..