본문 바로가기
반응형

Language42

Record DTO 사용 이유 Record는 Java 16에서 정식 출시된 특별한 유형의 클래스로 불변성(Immutable) 을 기본으로 한다.기존의 클래스와 달리 모든 필드가 final 키워드로 선언되며, 객체 생성 후 변경할 수 없다. 또한 필드 선언만으로 자동으로 생성자, getter, equals(), hashCode(), toString() 등 메서드를 자동으로 생성해 주어 보일러 플레이트 코드(반복 코드)를 줄일 수 있다. 이러한 특성으로 인해 멀티 스레드 환경에서 데이터가 의도치 않게 변경되지 않고 안전하게 전달할 수 있다.// 기존 클래스 기반 DTOpublic class MemberDto { private final String name; private final String email; private final in.. 2025. 4. 9.
MutableList MutableList는 Kotlin에서 제공하는 변경 가능한 리스트 (mutable list) 입니다.즉, 요소를 추가, 삭제, 수정할 수 있는 리스트 타입입니다. 1. MutableList 생성 방법mutableListOf() 또는 ArrayList() 등을 사용하여 생성할 수 있습니다.val numbers = mutableListOf(1, 2, 3) // 변경 가능한 리스트val names = ArrayList() // Java의 ArrayList와 동일한 동작2. 주요 함수(1) 요소 추가 (add)val list = mutableListOf("Apple", "Banana")list.add("Cherry") // ["Apple", "Banana", "Cherry"]list.add(1, "Orange.. 2025. 3. 12.
Java Checked, Unchecked Exception Checked Exception컴파일 시점에 확인되며, 반드시 처리해야 하는 예외다.자바에서는 IOException, SQLException 등이 이에 속한다.Checked Exception을 유발하는 메서드를 호출하는 경우, 메서드 시그니처에 throws를 사용하여 호출자에게 예외를 위임하거나, 메서드 내에서 try-catch를 사용하여 해당 예외를 반드시 처리해야합니다.사용처정답이 없는 영역이므로, 자신의 주관을 만들면서 학습!외부 환경과의 상호작용에서 발생할 가능성이 높은 예외에 적합하다.ex) 파일 입출력, 네트워크 통신 등에서 발생할 수 있는 예외를 처리한다.이러한 예외는 예측 가능하며, 호출하는 쪽에서 적절히 처리할 수 있는 여지가 있다.Unchecked Exception런타임 시점에 발생하는.. 2025. 3. 6.
동시성 프로그래밍을 위한 유용한 클래스와 인터페이스 ≣ 목차# 요약ExecutorService: 스레드 풀을 추상화한 인터페이스로, 작업을 제출하고 실행하는 기능을 제공한다.Executors: 다양한 유형의 스레드 풀을 생성하는 팩토리 메서드를 제공하는 유틸리티 클래스이다.CountDownLatch: 다른 스레드가 주어진 작업을 완료할 때까지 대기하는 동기화 도구이다.CompletableFuture: 비동기적으로 작업을 실행하고 결과를 처리하는 클래스로, 다양한 비동기 작업 처리 기능을 제공한다.ExecutorService스레드 풀을 추상화한 인터페이스이다. 주어진 작섭을 실행하고 관리하는 기능을 제공한다.ExecutorService executorService = Executors.newFixedThreadPool(10); // 스레드 풀 생성// 작업.. 2024. 7. 16.
[Java] Math 클래스 제곱 pow, 제곱근 sqrt 함수 ⏩ Math.pow() 제곱 연산을 수행할 수 있는 메소드 double형 인자를 가지고 제곱 연산을 수행한다. double a = Math.pow(3, 2); // 3 * 3 = 9.0 double b = Math.pow(2.5, 3); // 2.5 * 2.5 * 2.5 = 15.625 int c = (int) Math.pow(1.3, 2); // 형변환 가능. (int) 1.3 * 1.3 = 1 ▶️ 사용 예제 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class Main { public static void main(String[] args) throws IOExce.. 2024. 2. 21.
[JAVA] 문자열 반복 메소드 repeat ➡️ 문자열 반복 메소드 repeat ▶️ 사용 방법 문자열.repeat(반복 횟수) s.repeat(3) ▶️ 코드 예시 문자열을 입력 받아 각 문자를 반복하는 문제 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.StringTokenizer; public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringTokenizer st = ne.. 2024. 2. 15.
[JAVA] while (n-- > 0) 의미 while 문에서 사용하는 while (n-- > 0) 는 n--; 와 n > 0 를 합쳐놓은 형태이다. ▶️ 예제 배열 내에서 최댓값, 최솟값 구하는 예제 import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.StringTokenizer; public class Main { public static void main (String[] args) throws Exception { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int count = Integer.parseInt(br.readLine()); StringTokeniz.. 2024. 2. 11.
[JAVA] BufferedReader, BufferedWriter (+ StringTokenizer) 입출력 사용법 ➡️BufferedReader 많은 입력을 요구할 때는 Scanner보다 BufferedReader가 효율적이다. 멀티 쓰레드 환경에서는 BufferedReader가 더 안전하다. * BufferedReader 선언 import java.io.BufferedReader; import java.io.InputStreamReader; BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); readLine으로 BufferedReader 데이터를 받아올 때는 반환 값이 String이다. int는 Integer.parseInt 처리를 통해 받아야 한다. String s = br.readLine(); 추가적으로 IOException 처리를.. 2024. 2. 9.
JAVA 13일차 - 람다, 스트림 💡 람다(Lambda) 💬 람다식의 형식 ◾ ( 인수목록 ) -> { 본체 } 💬 원론적인 람다식 ◾ ( int i ) -> { System.out.println(i+1); } 💬 예시 // 정수형 인수 i를 받아 이 값에 1 더한 값을 리턴한다. (int i) -> {return i+1;} // 다음 함수와 같다. int addone(int i) { return i+1; } // 인수가 두 개일 때 (a, b) -> a > b ? a : b // 인수가 없을 때 () -> System.currentTimeMillis()​ 💬 람다식 활용, 스레드 생성문을 단 한줄로 줄일 수 있다. new Thread() -> System.out.print("스레드가 출력한 문장")).start();​ 💡 추상화 💬 클.. 2022. 7. 6.
728x90
반응형