java
-
[Java] 리플렉션 (reflection) 에 대해 알아보자!Language/Java 2025. 4. 23. 15:13
Java 리플렉션(Reflection)이란?Java의 리플렉션은 런타임에 객체의 클래스 정보에 접근하거나 메서드를 호출하고, 필드를 읽거나 쓸 수 있게 해주는 기능입니다. 보통은 컴파일 타임에 클래스 정보를 사용하지만, 리플렉션을 사용하면 프로그램 실행 중에 유연하게 객체를 다룰 수 있습니다.ObjectMapper, ModelMapper, MapStruct와 리플렉션1. ObjectMapper (Jackson)ObjectMapper는 JSON과 Java 객체 간의 직렬화/역직렬화를 담당하는 Jackson 라이브러리의 핵심 클래스입니다. 내부적으로 리플렉션을 사용하여 객체의 필드를 분석하고 값을 읽거나 씁니다.ObjectMapper mapper = new ObjectMapper();User user = m..
-
java 어플리케이션에서 시스템 명령어 사용하려면?Server 2025. 4. 23. 11:29
✅ Java의 ProcessBuilder란?ProcessBuilder는 Java 5부터 추가된 클래스이며, 외부 프로그램이나 쉘 명령어를 실행할 수 있게 도와주는 도구입니다.✨ 언제 사용하나? 운영체제 명령어를 호출해야 할 때 Java 외부 프로그램을 실행해야 할 때 외부 프로그램의 실행 결과를 Java에서 읽거나 처리할 때 백엔드 시스템이 외부 CLI 툴과 연동될 때📌 주요 메서드와 특징 메서드 / 기능설명 command(List)실행할 명령어 설정 directory(File)작업 디렉토리 설정 environment()환경 변수 설정 start()프로세스 시작 redirectInput/Output/Error()입출력 리디렉션 가능🧪 실전 예제✅ 예제 1: 디렉토리 목록 출력Proc..
-
[Springboot] 스레드와 프로세스를 구분해보자!Server/Spring Boot 2025. 4. 18. 17:06
✅ 스레드와 프로세스의 차이점프로세스(Process)는 실행 중인 프로그램으로, 운영체제로부터 독립적인 메모리 공간(코드, 데이터, 힙, 스택)을 할당받아 실행됩니다.스레드(Thread)는 프로세스 내에서 실행되는 작업의 최소 단위이며, 하나의 프로세스는 여러 개의 스레드를 가질 수 있습니다. 구분 프로세스 스레드 정의 실행 중인 프로그램 프로세스 내에서 실행되는 작업의 흐름 메모리 공간 독립적 공유 (코드, 힙 등은 공유하고, 스택은 별도) 통신 방법 IPC(Inter-Process Communication) 필요 메모리 공유로 간편 ..
-
동등하다?(동등성) 동일하다?(동일성) 개념 정리IT 2025. 4. 17. 14:05
✅ 동등성과 동일성의 차이 (Equality vs Identity)Java를 포함한 객체지향 프로그래밍 언어에서는 동등성(equality)과 동일성(identity)을 구분하는 것이 매우 중요합니다. 겉보기에는 같아 보여도 내부적으로는 완전히 다른 의미를 가지기 때문이죠.🧠 1. 용어 정리구분설명동일성 (Identity)두 객체가 완전히 같은 객체인지 확인. 즉, 메모리 주소가 같은지를 비교. Java에서는 == 연산자를 사용.동등성 (Equality)두 객체의 내용이 같은지를 비교. Java에서는 equals() 메서드를 오버라이딩하여 비교.🔍 2. 자바 코드 예제로 이해하기public class Person { private String name; public Person(String ..
-
Springboot Timezone(타임존) 에 대해 알아보자!Server/Spring Boot 2025. 4. 15. 00:01
시간은 모든 시스템에서 매우 중요한 요소입니다. 특히 서버와 클라이언트가 서로 다른 시간대를 사용할 경우, 정확한 시간 처리를 위해 타임존 개념과 변환 방법을 제대로 이해하는 것이 중요합니다. 이번 글에서는 KST(한국 표준시)와 UTC(세계 표준시)의 개념 비교부터 Spring Boot에서의 변환 예제까지 전부 정리해보겠습니다.🕒 KST vs UTC 구분 설명 UTC (Coordinated Universal Time) 전 세계 표준 시간. 한국 시간(KST)은 UTC보다 9시간 빠름 KST (Korea Standard Time) 한국 표준 시간 (UTC +09:00) 📌 예시:- UTC 기준: 2025-04-14 06:00:00- KST 기준: 2..
-
Call by value?? Call by reference?? 알아보자IT 2025. 4. 9. 17:38
📌 Call by Value vs Call by Reference프로그래밍 언어에서 함수나 메서드에 인자를 전달할 때, 그 방식은 크게 두 가지로 나뉩니다.✅ Call by Value (값에 의한 호출) 값 자체를 복사해서 전달 함수 내부에서 매개변수의 값을 변경해도, 원본 값에는 영향이 없음public class Example { public static void changeValue(int x) { x = 100; } public static void main(String[] args) { int num = 50; changeValue(num); System.out.println(num); // 👉 출력: 50 }}설명: ..