Total 221

변수 정리

자바(Java)의 변수 종류 정리자바의 변수는 크게 다음 4가지로 분류됨:지역 변수 (Local Variable)멤버 변수 (Member Variable)인스턴스 변수 (Instance Variable)클래스 변수 (Class Variable / static 변수)매개변수 (Parameter Variable)상수 (final 변수)각 변수는 선언 위치, 생명 주기, 메모리 저장 위치에 따라 다르게 동작함.1. 지역 변수 (Local Variable)메서드 내부, 생성자 내부, 블록 내부에서 선언된 변수임해당 블록이 실행될 때 생성되고, 블록이 종료되면 소멸됨반드시 초기화 후 사용해야 함메서드 호출 시마다 새롭게 생성됨메모리: 스택(stack) 영역에 저장됨public void printSum() { ..

BE/Java 2025.07.22

중첩, 내부클래스

Java의 중첩 클래스(Nested Class), 내부 클래스(Inner Class), 지역 클래스(Local Class) 정리Java에서는 클래스 안에 또 다른 클래스를 선언할 수 있음. 이를 중첩 클래스(Nested Class) 라고 부름.중첩 클래스는 코드의 구조를 더 논리적으로 구성할 수 있도록 도와줌.1. 중첩 클래스란?중첩 클래스(Nested Class) 는 다른 클래스 내부에 선언된 클래스를 의미함.일반 클래스 외에, 클래스의 일부 기능을 내부 클래스로 구조화할 때 사용함.중첩 클래스는 다음과 같이 크게 두 가지로 나뉨:정적 중첩 클래스 (Static Nested Class)비정적 중첩 클래스 → 내부 클래스(Inner Class)내부 클래스는 다시 세분화됨:분류static 여부선언 위치정적..

BE/Java 2025.07.21

LocalDate.parse(입력문자,포맷);

LocalDate.parse(입력문자열, 포맷터) 는 문자열을 LocalDate 객체로 변환할 때 사용하는 정적 메서드임.LocalDate.parse(입력문자, 포맷) – 문자열을 날짜로 파싱하는 메서드LocalDate.parse(String text, DateTimeFormatter formatter) 는문자열 형식의 날짜를 LocalDate 객체로 변환(parse) 하는 메서드임.입력 문자열의 형식을 DateTimeFormatter.ofPattern() 을 통해 지정할 수 있음.1. 기본 구조LocalDate.parse("2025-05-21", DateTimeFormatter.ofPattern("yyyy-MM-dd"));첫 번째 인자: 문자열(String)두 번째 인자: 포맷터(DateTimeForm..

BE/Java 2025.05.29

date.format()

Java에서 date.format() 은 날짜/시간 객체를 지정한 포맷 문자열로 변환하는 메서드임.Java 8 이후의 java.time API에서는 LocalDate, LocalDateTime, ZonedDateTime 등에서 format() 메서드를 지원함.date.format() – 날짜 객체를 문자열로 변환하는 메서드format() 은 Java 8 이상의 java.time 패키지에서 제공되며,날짜/시간 객체를 사람이 읽을 수 있는 문자열 형태로 포맷할 때 사용함.DateTimeFormatter 와 함께 사용되며, 스레드 세이프하고 직관적인 날짜 출력 방식을 제공함.1. 기본 사용법LocalDate date = LocalDate.of(2025, 5, 21);DateTimeFormatter format..

BE/Java 2025.05.28

DateTimeFormatter.ofPattern

DateTimeFormatter.ofPattern() 은 Java 8 이상에서 날짜와 시간 객체(LocalDate, LocalDateTime 등)를 포맷 문자열로 변환하거나, 반대로 문자열을 파싱할 때 사용하는 포맷 정의 메서드임.DateTimeFormatter.ofPattern – 날짜 포맷 지정 메서드DateTimeFormatter.ofPattern(String pattern) 은 Java 8 이상에서날짜와 시간의 출력 형식을 지정하거나, 문자열을 날짜로 변환할 때 사용할 포맷 형식을 정의하는 메서드임.SimpleDateFormat 의 최신 대체제로, 스레드 세이프하며 불변(immutable)한 객체임.1. 기본 사용법날짜를 문자열로 포맷하기 (format)LocalDate date = LocalDa..

BE/Java 2025.05.27

temporalAdjusters

TemporalAdjusters 는 Java 8 이상에서 제공하는 날짜 조정 유틸리티로, LocalDate 등 날짜 객체를 쉽게 변환하거나 맞춤 조정할 수 있도록 도와주는 기능임.TemporalAdjusters – 날짜를 손쉽게 조정하는 자바 유틸리티TemporalAdjusters 는 Java 8+ java.time.temporal 패키지에 포함된 클래스이며,날짜를 특정 기준(예: 다음 달 첫째 날, 이번 달 마지막 날, 특정 요일 등)으로 조정하는 기능을 제공함.1. 언제 사용하는가?복잡한 날짜 계산 로직을 간결하게 구현하고 싶을 때매달 첫날, 마지막 날 계산특정 요일(예: 이번 달 둘째 화요일 등) 구하기다음 영업일, 특정 조건의 날짜 구하기→ if문, Calendar 복잡한 코드 없이 선언적으로 날..

BE/Java 2025.05.26

chronofield

ChronoField 는 Java 8 이상에서 날짜와 시간의 각 필드를 직접 지정하고 조작할 수 있게 해주는 열거형(Enum) 임.ChronoField – 날짜/시간의 필드 조작용 EnumChronoField 는 java.time.temporal 패키지에 포함된 Enum으로,날짜 및 시간의 세부 항목(예: 연도, 월, 일, 시, 분 등)을 직접 다루기 위한 필드 정의 집합임.각 필드는 TemporalField 인터페이스를 구현하며, LocalDate, LocalTime, ZonedDateTime 등에서 직접 접근 및 수정 가능함.1. 왜 ChronoField를 사용하는가?Java의 LocalDate, LocalTime, ZonedDateTime 등은 내부적으로 다양한 필드 단위 정보를 포함함.이 정보를 ..

BE/Java 2025.05.25

chronounit

ChronoUnit 은 Java 8부터 도입된 날짜/시간 계산을 위한 열거형(enum) 클래스로, java.time 패키지에서 TemporalUnit 인터페이스를 구현함.ChronoUnit – 자바 날짜/시간 연산 단위 EnumChronoUnit 은 Java 8의 java.time 패키지에 포함된 Enum으로,기간(Duration) 또는 날짜 간 차이(Period) 를 연산할 때 사용하는 시간 단위(HOURS, DAYS, MONTHS 등)를 명확하게 표현하는 도구임.1. ChronoUnit 주요 목적LocalDate, LocalDateTime, ZonedDateTime 등과 함께 사용하여날짜 간 차이 계산 또는 특정 단위만큼 덧셈/뺄셈 연산에 활용됨코드의 가독성과 명확성 향상2. 사용 가능한 시간 단위C..

BE/Java 2025.05.24

npm install --legacy-peer-deps

npm install --legacy-peer-deps 옵션은 npm v7 이상에서 발생하는 peer dependency 충돌을 우회하기 위한 설정임.npm install --legacy-peer-deps 기본값으로 설정하기1. 배경 설명npm 버전 7부터는 peerDependencies를 자동으로 설치하면서 충돌을 강하게 검사하게 되었음.이전 버전에서는 단순히 경고만 표시하고 설치를 계속했지만,npm 7+ 에서는 peerDependencies 충돌이 있으면 설치가 실패하게 되었음.예시 오류:ERESOLVE unable to resolve dependency tree해결 방법:npm install --legacy-peer-deps→ 이전 방식처럼 peer dependencies 충돌을 무시하고 설치를 강..

FE/React 2025.05.23

@ConfigurationProperties, @ConstructorBinding

@Value 는 간편하지만, 설정이 많아질수록 복잡하고 유지보수에 불리해짐.이럴 땐 @ConstructorBinding 과 @ConfigurationProperties 를 사용하여 설정값을 객체 단위로 구조화하여 관리하는 것이 바람직함.@ConfigurationProperties + @ConstructorBinding을 활용한 설정 관리@ConfigurationProperties 는 Spring Boot에서 외부 설정 파일(application.yml 등)의 값을 Java 객체로 바인딩하는 어노테이션임.여기에 @ConstructorBinding 을 함께 사용하면 불변성(immutability) 과 IDE 자동완성, 타입 안전성, 테스트 용이성 등을 모두 만족할 수 있음.1. 기존 방식: @Value 방식..