짤막 비교 2

Validator Class vs validateSelf()

validateSelf()란 정해진 메소드명이 아니며,DTO 등에서 자체적으로 검증을 수행하는 inner method의 예시이다.  Validator ClassvalidateSelf()설계 측면검증 로직과 DTO 역할이 분리됨DTO가 검증 책임까지 맡아 단일 책임 원칙(SRP)를 위배할 수 있음단점구현에 따라 성능 저하(외부 시스템 or 다수의 컴포넌트 의존)DTO가 비대해질 수 있음 (DTO 개수가 많아질수록 불리)재사용성다양한 DTO나 컨텍스트에서 재사용 가능검증 로직을 다른 DTO에 공유하기 어려움구현 용이성구현량이 많음 (별도 클래스 작성)일반적으로 적용이 쉬움 (메서드 작성)테스트 용이성독립적으로 검증 로직 테스트 가능DTO와 검증 로직이 결합되어 테스트가 복잡해질 수 있음

짤막 비교 2025.01.13

toString() vs asString() / asString() vs 직렬화(Serialization)

toString() asString() 출처Object 클래스에 정의되어 모든 클래스에서 상속받음 (Java 표준 라이브러리)특정 라이브러리나 개발자가 정의하여 사용 (Java 표준 미포함)기본 동작객체의 클래스명, 주소, 해시코드 등을 반환(기본 구현, 필요시 오버라이딩하여 커스터마이징)라이브러리나 개발자가 정의한 특정 문자열 반환사용 목적디버깅, 로깅, 객체의 문자열 표현 제공객체를 특정 형식의 문자열로 변환 (이후 추가 로직에 쓰거나, toString()과 같이 활용)   직렬화 (Serialization)asString()목적객체를 바이트 스트림으로 변환하여 저장하거나 전송객체를 문자열로 변환하여 사용복원 가능 여부복원 가능 (역직렬화 가능)복원 불가능 (단방향 변환)사용 사례네트워크 전송, 파..

짤막 비교 2025.01.12