toString() | asString() | |
출처 | Object 클래스에 정의되어 모든 클래스에서 상속받음 (Java 표준 라이브러리) | 특정 라이브러리나 개발자가 정의하여 사용 (Java 표준 미포함) |
기본 동작 | 객체의 클래스명, 주소, 해시코드 등을 반환 (기본 구현, 필요시 오버라이딩하여 커스터마이징) |
라이브러리나 개발자가 정의한 특정 문자열 반환 |
사용 목적 | 디버깅, 로깅, 객체의 문자열 표현 제공 | 객체를 특정 형식의 문자열로 변환 (이후 추가 로직에 쓰거나, toString()과 같이 활용) |
직렬화 (Serialization) | asString() | |
목적 | 객체를 바이트 스트림으로 변환하여 저장하거나 전송 | 객체를 문자열로 변환하여 사용 |
복원 가능 여부 | 복원 가능 (역직렬화 가능) | 복원 불가능 (단방향 변환) |
사용 사례 | 네트워크 전송, 파일 저장, 객체 상태 복원 | 추가 로직에 쓰거나, toString()과 같이 활용 |
Java 기능 사용 여부 | Serializable, Externalizable 인터페이스 사용 | 사용자 정의 |
성능 | 바이트 변환 - 상대적으로 더 많은 자원 사용 | 문자열 변환 - 직렬화보다 상대적으로 가볍고 빠름 |
(성능은 물론 쓰임에 따라 상이하므로 로그 찍어야 안다.)
'짤막 비교' 카테고리의 다른 글
Validator Class vs validateSelf() (0) | 2025.01.13 |
---|