VO (Value Object)불변(immutable)객체값을 표현하기 위해 사용함비즈니스 로직에서 의미 있는 “값”equals(), hashCode()를 값 자체로 동일성 판단 🔹 특징불변성 보장 : 필드는 final, 생성자에서만 초기화의미 있는 도메인 값객체의 주소가 아닌 “값”이 같으면 같다고 판단public final class Money { private final int amount; private final String currency; public Money(int amount, String currency) { this.amount = amount; this.currency = currency; } public int getAmoun..
import java.io.Serializable;public interface Serializable {}내용이 없는 “마커 인터페이스”객체를 바이트 형태로 변환(직렬화)할 수 있게 해주는 마커 인터페이스해당 인터페이스를 구현하면, Java는 이 객체가 직렬화 가능하다고 판단객체를 `ObjectOutputStream`, `ObjectInputStream` 등을 통해 직렬화/역직렬화 가능네트워크 전송(HTTP API 호출 시), 파일에 객체 저장, 분산 시스템(메시지 큐, 세션 저장 등) 에 사용됨 직렬화(Serialization)객체를 저장하거나 전송할 수 있도록 byte 형태로 변환하는 과정객체의 상태(필드 값 등)를 파일로 저장하거나 네트워크를 통해 전송할 수 있게 만드는 기술 사용 예시1️⃣ 클래..
import java.util.stream;public interface Stream extends BaseStream>{ Stream filter(Predicate predicate) Stream map(Function mapper); Stream sorted(); Stream sorted(Comparator comparator); Stream distinct(); Stream limit(long maxSize); Stream skip(long n); R collect(Collector collector); R collect(Supplier supplier,BiConsumer accumulator,BiConsumer combiner); void forEach(Consumer action); lon..
@FunctionalInterfacepublic interface Predicate{ boolean test(T t); // 반드시 구현해야하는 추상 메서드 default Predicate and(Predicate other); // 논리 AND default Predicate negate(); // 논리 OR default Predicate or(Predicate other); // 논리 NOT static Predicate isEqual(Object targetRef); // 정적 비교 생성기}Java 8에 도입된 함수형 인터페이스(Function Interface) 중 하나boolea..
참조형 데이터 타입의 특징미리 정의되어 있지 않음클래스의 생성자를 사용하여 생성객체에 접근하는 데 사용선언된 타입은 변경 불가모든 참조 변수의 기본값은 null선언된 타입이나 호환 가능한 타입의 객체 참조 가능 String자바의 클래스로 문자열 표현문자 시퀀스 저장 및 조작String myString = new String("안녕하세요!");String simple = "간단한 문자열"; // 리터럴 방식 Arrays(배열)기본형 데이터 타입으로 생성동일한 타입의 여러 값 저장int [] numbers=new int[5]; // 5개 정수 배열String [] names = {"김철수", "이영희", "박지민"}; Classes & Interfaces (클래스 & 인터페이스)클래스 : 사용자 정의 데이터..
정수형byte8 비트 부호 있는 2의 보수 정수범위 : $-128(-2^7) \text{\ \textasciitilde \ } 127(2^7-1)$기본값 : 0큰 배열에서 메모리 절약 시 유용byte a = 100 ;byte b = -50 ; short16비트 부호 있는 2의 보수 정수범위 : $-32,768(-2^{15}) \text{\ \textasciitilde \ } 32,767(2^{15}-1)$기본값 : 0int 보다 절반 크기로 메모리 절약 가능short s = 10000;short r = -20000; int32비트 부호 있는 2의 보수 정수범위 : $-2,147,483,648(-2^{31}) \text{\ \textasciitilde \ } 2,147,483,647(2^{31}-1)$기본..