
java.util 패키지1. CollectionsJava의 Collections 클래스는 컬렉션 객체를 조작하기 위한 다양한 유틸리티 메서드를 제공주요 메서드sort(List list) : 리스트를 정렬reverse(List list) : 리스트의 요소 순서를 뒤집는다shuffle(List list) : 리스트 요소를 무작위로 섞는다max(Collection coll), min(Collection coll) : 컬렉션에서 최대값과 최소값을 반환코드 예제import java.util.*;public class CollectionsExample { public static void main(String[] args) { List numbers = Arrays.asList(5, 1, 3, 8..

Java Reflection이란?Reflection은 런타임에 클래스, 메서드, 필드, 생성자 등에 동적으로 접근하고 조작할 수 있는 기능을 제공이를 통해 Java는 정적으로 작성된 코드를 동적으로 처리 Reflection은 java.lang.reflect 패키지를 사용하여 구현Reflection의 주요 사용 사례프레임워크 및 라이브러리 개발Spring, Hibernate 같은 프레임워크는 객체 생성, 의존성 주입, 어노테이션 처리에서 Reflection을 사용런타임 동적 로딩클래스 이름을 런타임에 읽어 동적으로 객체를 생성하거나 메서드를 실행테스트private 메서드나 필드에 접근하여 테스트를 수행어노테이션 처리어노테이션 정보를 읽고 처리하는 로직 구현에 필수적Reflection의 기본 사용법impor..

Generics란?Generics는 클래스, 인터페이스, 메서드에 사용할 타입을 파라미터화할 수 있도록 해주는 기능주로 컴파일 타임에 타입 안정성을 보장하고, 불필요한 타입 캐스팅을 줄이는 데 사용Generics의 주요 목적타입 안정성잘못된 타입 사용으로 인한 오류 방지코드 재사용성타입에 구애받지 않는 유연한 코드 작성가독성 향상명시적으로 타입을 정의하여 코드 이해도 증가Generics의 기본 사용법Generics는 주로 (다이아몬드 연산자)로 표현1. 클래스와 인터페이스public class Box { private T item; public void setItem(T item) { this.item = item; } public T getItem() { ..

람다(Lambda)와 함수형 인터페이스람다 표현식(Lambda Expression)과 함수형 인터페이스는 자바 8(Java 8)에서 도입된 기능코드의 간결성을 높이고 함수형 프로그래밍 스타일을 도입할 수 있게 해줌람다 표현식이란?람다 표현식은 메서드를 하나의 식으로 간단히 표현한 것이를 통해 익명 클래스(anonymous class)를 간략화자바에서는 람다를 사용하여 코드를 더 간결하고 가독성 있게 작성할 수 있음기본 문법(parameters) -> expression// 블록 형식(parameters) -> { // statements return value;}예시// 기존 익명 클래스 방식Runnable runnable = new Runnable() { @Override publ..

예외란?예외(Exception)는 프로그램 실행 중에 발생할 수 있는 예기치 않은 상황을 의미사용자가 입력한 값이 예상치 못한 경우이거나, 파일이 존재하지 않는 경우 등이 있음자바에서는 이러한 예외 상황을 처리하여 프로그램이 비정상적으로 종료되지 않도록 함예외의 종류체크 예외(Checked Exception)컴파일 타임에 확인되며, 반드시 처리해야 하는 예외IOException: 파일 작업 중 오류 발생SQLException: 데이터베이스 작업 중 오류 발생ClassNotFoundException: 클래스를 찾을 수 없을 때 발생언체크 예외(Unchecked Exception)런타임에 발생하며, 처리하지 않아도 컴파일은 가능하지만 프로그램이 비정상 종료될 수 있음NullPointerException: 객..

Iteration특징컬렉션의 요소를 순회하는 과정명령형(Imperative) 프로그래밍 스타일로, 상태를 명시적으로 관리데이터 처리 로직을 직접 작성하며 가독성이 떨어질 수 있음코드 실행 순서를 한눈에 알 수 있음 장점직관적이고 디버깅이 쉬움간단한 작업에는 Stream API보다 효율적일 수 있음상태를 직접 제어할 수 있어 더 세밀한 제어 가능단점반복문이 복잡해질수록 코드의 유지보수가 어려움병렬 처리를 지원하지 않음 전통적 for 루프사용 사례: 인덱스를 통해 요소에 접근하거나 요소를 수정해야 할 때.예제:List list = Arrays.asList("A", "B", "C");for (int i = 0; i 향상된 for 루프사용 사례컬렉션의 요소를 읽기만 할 때예제for (String element ..

JAVA 컬렉션 프레임워크란?Java 컬렉션 프레임워크는 데이터를 효율적으로 저장하고 조작하기 위한 인터페이스와 클래스의 집합컬렉션 프레임워크는 데이터 구조를 간단하게 관리하고, 성능을 최적화하며, 데이터의 일관성을 유지하는 데 도움을 줌주요 인터페이스와 구현 클래스 1️⃣ List 인터페이스 특징순서가 있는 데이터의 집합중복을 허용1.1 ArrayList특징배열 기반의 자료구조로, 순차적 데이터 접근이 빠름데이터 추가와 삭제는 느리지만, 검색이 빠름장점인덱스를 통해 O(1)의 속도로 데이터 접근 가능크기 동적 변경 가능단점중간에 데이터를 삽입하거나 삭제할 경우 O(n) 시간 복잡도가 발생예시 코드import java.util.ArrayList;public class ArrayListExample { ..

Java 플랫폼의 특징 (WORA: Write Once, Run Anywhere)Java는 "한 번 작성하면 어디서나 실행할 수 있다"는 WORA 특성을 가짐이는 Java 프로그램이 플랫폼 독립적인 바이트코드로 컴파일되고, JVM이 이 바이트코드를 실행 환경에 맞게 처리하기 때문JVM과 JDK, JRE의 관계JDK(Java Development Kit)Java 애플리케이션 개발을 위한 도구와 라이브러리를 제공하며, JRE와 컴파일러, 디버거 등을 포함JRE(Java Runtime Environment)Java 프로그램을 실행하기 위한 환경으로, JVM과 Java 표준 라이브러리를 포함JVMJava 프로그램의 실행 엔진으로, 바이트코드를 해석하거나 컴파일하여 실행자바에서의 코드 컴파일 과정개발자가 .jav..

Enum의 기본 개념Enum은 상수 값을 정의하기 위한 특수한 데이터 타입예를 들어, 요일, 계절, 방향 등 고정된 값의 집합을 나타낼 때 사용public enum Day { MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY;}Enum의 특징상수 집합Enum으로 정의된 값은 변경될 수 없으며 고정된 집합을 나타냄객체 생성 불가Enum은 암묵적으로 final이고 인스턴스를 직접 생성할 수 없음타입 안전성잘못된 값을 방지하기 위해 타입 안전성을 제공더보기Enum의 타입 안정성이란?Java Enum은 특정 값 집합만 사용할 수 있도록 제한하기 때문에 잘못된 값의 사용을 방지이는 컴파일 타임에서 오류를 잡아낼 수 있도록 도와주며, 프로그램의 안..

Object 클래스란?Object 클래스는 자바의 최상위 클래스로, 자바에서 모든 클래스는 암묵적으로 Object 클래스를 상속따라서, 자바의 모든 객체는 Object 클래스의 메서드들을 상속받아 사용할 수 있다주요 특징최상위 클래스Object는 자바 클래스 계층 구조의 최상위 클래스모든 클래스는 명시적으로 상속하지 않아도 자동으로 Object를 상속기본 메서드 제공모든 객체에서 공통적으로 필요한 메서드를 정의하고 제공예) equals, hashCode, toString, clone직접 객체 생성 가능다른 클래스처럼 Object 객체를 직접 생성할 수도 있다예) Object obj = new Object();메모리 관리 및 스레드 관련 메서드 포함wait, notify, notifyAll 같은 스레드 관..
- Total
- Today
- Yesterday
- restful api
- Java
- 알고리즘
- B+Tree
- CS
- MSA
- 백트래킹
- devops
- 데이터베이스
- 그리디 알고리즘
- Spring
- 자바
- 프리코스
- 스프링
- db
- 탐색 알고리즘
- 운영체제
- 동적 프로그래밍
- TRIE
- Spring Boot
- HTTP
- 우선순위 큐
- CPU 스케줄링
- 우테코
- 분할 정복
- 자료구조
- k8
- 우아한 테크코스
- 해시 테이블
- i/o모델
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |