BE/Java 53

[Java] 비동기 처리 (try-catch)

자바에서 비동기 처리 시 예외 처리 (try-catch) 자바에서 비동기 처리(Asynchronous Processing) 를 할 때 예외(Exception)를 적절하게 처리하는 것은 매우 중요함.비동기 코드에서는 기존의 try-catch 문이 제대로 동작하지 않을 수 있기 때문에 별도의 예외 처리 방식을 적용해야 함. 1️⃣ 기본적인 try-catch 블록 (동기 코드에서 예외 처리) 동기(Synchronous) 코드에서는 try-catch 블록을 사용하여 예외를 쉽게 처리할 수 있음.public class SyncTryCatchExample { public static void main(String[] args) { try { int result = 10 / 0;..

BE/Java 2025.03.28

[Java] 체인호출

자바에서 체인 호출(Method Chaining)이란? 자바에서 체인 호출(Method Chaining)이란 객체의 메서드를 호출한 후, 그 결과로 받은 객체를 이용하여 바로 다른 메서드를 연속해서 호출하는 방식을 말함.간단히 표현하면, 메서드가 연속적으로 연결되어 호출되는 형태임. 일반적으로 다음과 같은 형태를 말함.객체.method1().method2().method3();  체인 호출의 원리와 구조 체인 호출은 다음 두 가지 핵심 원리로 동작함. • 메서드가 반드시 객체(주로 자기 자신, 즉 this)를 반환해야 함. • 반환받은 객체를 통해 다음 메서드를 계속 호출하는 방식임. 즉, 이런 구조임.object.method1().method2().method3(); • 위 코드가 실행되는 과정: 1...

BE/Java 2025.03.24

[Java] File I/O

1. File I/O란? File I/O는 파일 입출력(File Input/Output) 의 줄임말임. 쉽게 말해 프로그램이 파일에서 데이터를 읽거나, 처리된 데이터를 파일로 저장하는 작업을 의미함. • Input(입력)파일 → 프로그램 방향으로 데이터를 읽음. • Output(출력)프로그램 → 파일 방향으로 데이터를 저장함. 즉, 파일에 데이터를 영구적으로 저장하거나 외부 데이터를 읽어오는 용도로 사용됨. 예를 들어, 메모장에 일기를 쓰는 행위는 Output이고, 작성된 일기를 나중에 읽어보는 행위는 Input임. 2. Java에서의 File I/O 처리 방법 Java에서는 파일 데이터를 처리할 때 크게 두 가지 스트림(Stream)을 제공함. ① 바이트 기반 스트림(Byte Stream) • 데이터를..

BE/Java 2025.03.18

[Java] BufferedReader

✅ BufferedReader의 모든 요소 (메서드 및 기능) BufferedReader는 입력을 효율적으로 처리하는 Java 클래스로, 버퍼를 사용하여 빠르게 문자열을 읽을 수 있는 기능을 제공합니다. ✅ 1. BufferedReader 생성자BufferedReader는 다음과 같은 생성자를 제공합니다.public BufferedReader(Reader in) // 기본 생성자 (Reader 객체 필요)public BufferedReader(Reader in, int bufferSize) // 버퍼 크기 지정 가능📌 Reader 객체 (InputStreamReader, FileReader 등)를 전달해야 함📌 기본 버퍼 크기는 8192 bytes (8KB) 📌 예제im..

BE/Java 2025.03.17

[Java] StringTokenizer

✅ StringTokenizer의 모든 요소 (메서드 및 기능) StringTokenizer는 Java에서 문자열을 특정 구분자로 분리하는 클래스입니다.사용법이 간단하고 성능이 뛰어나며, split()과 유사하지만 재사용이 불가능한 단점이 있습니다. ✅ 1. StringTokenizer 생성자StringTokenizer는 총 3가지 생성자를 제공합니다.public StringTokenizer(String str) // 기본적으로 공백을 구분자로 사용public StringTokenizer(String str, String delim) // 사용자가 지정한 구분자(delim)를 사용public StringTokenizer(String str, String delim, boolean r..

BE/Java 2025.03.16

[Java] 네이버 포매터(Naver Formatter)

⚡ 1. 네이버 포매터(Naver Formatter)란?네이버 포매터(Naver Formatter) 는 네이버(NAVER)에서 개발한 Java 코드 스타일 자동 정리 도구입니다.Java 코드를 일관된 스타일로 포맷팅(정렬 및 정리)하여 코드 가독성을 높이는 역할을 합니다. 📌 즉, Java 코드를 팀 내에서 동일한 스타일로 유지할 수 있도록 도와주는 도구! ✅ 주요 기능 • 자동으로 Java 코드 스타일을 정리하여 가독성 향상 • Checkstyle, Spotless, Google Java Formatter 등과 유사한 코드 포맷터 • Eclipse, IntelliJ, Gradle, Maven 등에서 적용 가능 ⚡ 2. 네이버 포매터 사용법네이버 포매터는 Eclipse 설정 파일을 기반으로 동작하며, ..

BE/Java 2025.03.11

[Java] 롬복과 어노테이션 프로세서

⚡ 1. 롬복(Lombok)이란?Lombok(롬복) 은 반복적인 보일러플레이트(Boilerplate) 코드를 자동으로 생성하는 Java 라이브러리입니다.예를 들어, Getter, Setter, 생성자, toString() 등을 직접 작성할 필요 없이 어노테이션만으로 자동 생성할 수 있습니다. 📌 Lombok을 사용하면 코드가 간결해지고 유지보수가 쉬워짐import lombok.Getter;import lombok.Setter;@Getter@Setterpublic class User { private String name; private int age;}📌 위 코드 실행 시 자동으로 getName(), setAge() 등의 메서드가 생성됨 ⚡ 2. Lombok은 어떻게 동작할까? (어노테이션..

BE/Java 2025.03.08

[Java] Java Collections Framework

⚡ 1. Java Collections Framework란?Java Collections Framework(JCF) 는 자료구조(컬렉션)를 효율적으로 다룰 수 있도록 제공하는 표준 라이브러리입니다.List, Set, Queue, Map 등의 인터페이스와 이를 구현하는 다양한 클래스들을 포함하고 있습니다. 💡 Collections Framework의 핵심 기능 • 데이터 저장 & 관리 → 배열보다 유연한 데이터 구조 제공 • 정렬 & 검색 → Comparator, Comparable 지원 • 멀티스레드 환경 지원 → Concurrent 컬렉션 제공 ⚡ 2. Java Collections Framework의 구조Java 컬렉션 프레임워크는 다음과 같은 핵심 인터페이스로 구성됩니다. 🏗 Java Colle..

BE/Java 2025.03.06

[Java] Mockito

Mockito란? Mockito는 Java에서 단위 테스트를 위해 가장 널리 사용되는 모킹(Mocking) 프레임워크임. • Mock 객체를 만들어 테스트 대상 클래스의 의존성을 가짜로 대체하고, 동작을 설정하거나 검증할 수 있도록 지원함. • 실제 객체를 생성하지 않아도, 특정 메서드 호출 결과를 제어할 수 있음.Mockito가 필요한 이유 1. 의존성 격리 • 테스트 대상 클래스가 다른 클래스나 외부 리소스(데이터베이스, 네트워크 등)에 의존할 때, 이를 격리하여 단위 테스트를 쉽게 수행할 수 있음. 2. 예상된 결과 확인 • 의존 객체의 메서드 호출 결과를 설정해, 테스트 대상 클래스가 올바르게 동작하는지 검증 가능함. 3. 테스트 속도 향상 • 실제 객체를 사용하는 대신 가짜 객체를 사용하므로, ..

BE/Java 2025.01.21

[Java] Servlet

Java 웹 애플리케이션에서 클라이언트 요청을 처리하고 동적으로 응답을 생성하기 위한 기술HTTP요청과 응답을 다룰 수 있는 핵심 컴포넌트 주요 특징1. HTTP 요청/응답 처리HTTP 프로토콜을 기반으로 GET, POST 등의 요청을 처리한다2. 서버 측 동작클라이언트가 요청하면 서버에서 Servlet이 실행되고, 동적으로 결과를 생성해 클라이언트로 응답을 보낸다3. 플랫폼 독립성Java로 작성되므로 다양한 플랫폼에서 실행 가능하다4. 확장성다양한 기능을 추가할 수 있어 웹 애플리케이션 개발에 적합하다5. JSP와 연계JSP(Java Server Pages)와 함께 사용되어, Servlet은 주로 로직을 처리하고 JSP는 응답 화면을 구성하는데 사용된다동작 원리1. 클라이언트 요청브라우저가 URL을 통..

BE/Java 2025.01.10