자바/자바 기초

자바의 주요 메서드

lamarcK 2025. 4. 30. 22:49
  1. 개념 설명
  • toString(): 객체를 문자열로 표현 (JS의 toString()과 유사)
  • equals(): 객체의 내용 비교 (JS의 === 연산자와 유사)
  • hashCode(): 객체의 해시코드 값 반환
  • clone(): 객체의 복사본 생성
  • valueOf(): 다른 타입의 값을 특정 타입으로 변환 (JS의 parseInt() 등과 유사)
  1. 비유 설명
  • toString(): 객체의 "명함" 같은 역할
  • equals(): 두 물건의 내용물을 꺼내서 하나하나 비교하는 것
  • clone(): 복사기로 문서를 복사하는 것과 유사
  1. 사용 목적
  • toString(): 객체 정보의 문자열 표현이 필요할 때
  • equals(): 객체의 내용 비교가 필요할 때
  • hashCode(): 해시 기반 컬렉션에서 사용
  • clone(): 객체의 깊은 복사가 필요할 때
  • valueOf(): 타입 변환이 필요할 때
  1. 자주하는 실수
  • equals()와 == 연산자 혼동
  • hashCode()와 equals() 한쪽만 재정의
  • clone() 사용 시 깊은 복사/얕은 복사 구분 못함
  • toString() 재정의 시 모든 필드 포함 안 함
  1. 비교표
기준 equals() == 연산자
비교대상 객체의 내용 참조값
재정의 가능 불가능
널 처리 NPE 발생가능 안전
  • NullPointerException(NPE)은 Java에서 가장 흔히 발생하는 런타임 예외
    • 개념:null인 객체(참조변수)를 통해 메서드를 호출하거나 필드에 접근하려 할 때 발생하는 예외
    • 쉽게 말해, '없는 것'을 사용하려 할 때 발생하는 오류
    • 빈 컵에서 물을 따르려는 것과 같은 상황
    • 존재하지 않는 전화번호로 전화를 거는 것과 유사
  1. 실무 활용 예시
  • toString(): 로깅, 디버깅
  • equals(): 객체 비교 로직
  • hashCode(): HashMap, HashSet 사용
  • clone(): DTO 복사
  • valueOf(): 문자열 파싱, 타입 변환

추가로 자주 사용되는 컬렉션 관련 메서드:

  • add()
  • remove()
  • contains()
  • size()
  • isEmpty()

'자바 > 자바 기초' 카테고리의 다른 글

클래스의 final  (0) 2025.05.01
자바의 클래스(Class)  (0) 2025.05.01
자바와 자바스크립트의 차이점  (0) 2025.04.30
2. 자바의 자료형(Data Type)  (0) 2025.04.28
1. 자바 파일 생성하기  (0) 2025.04.28