본문 바로가기
👋국비 후기 모음👋 (이력도 확인 가능!)
개발/자바

자바 API - Object 클래스 // toString, equals, hashCode, clone, finalize

by 킴뎁 2021. 1. 28.
728x90
반응형

API, Application Programing Interface

  • 프로그램을 개발하기 위해 만들어진 코드들(클래스, 인터페이스 위주)
  • 응용 프로그램이 운영체제(OS)나 기타 시스템과 통신(상호작용)을 할 때 사용되는 메시지의 형식(메소드, 함수)
  • 자바에서는 클래스와 인터페이스로 제공됨
  • 프로그램을 개발하기 위해 프로그래밍언어(JAVA)에서 제공하는 클래스들
  • 자바는 JDK에 포함되어있다
  • JAVA API Documentation을 참조해야한다 (설명서)

Object 클래스

  • 패키지 : java.lang
  • ** java.lang - 자바 언어의 기본이 되는 클래스들을 모아놓은 패키지
  • -> (import 선언 없이 사용가능)
  • 자바의 모든 클래스들의 최상위 부모클래스
  • 모든 클래스는 Object를 상속받는다
  • -> 자바 프로그래밍의 기본이 되는 클래스

Object 클래스의 메소드

재정의 불가능 메소드 (final 키워드가 적용되어있음)

  • notify, notifyAll, wait - 멀티스레드의 동기화에 사용
  • getClass - 클래스타입으로 정보를 반환

재정의 가능 메소드

  • toString
    • 객체를 설명하는 문자열을 반환
    • 기본리턴값 -> "데이터타입@참조값" 형식의 문자열
    • System.out.println(객체) 메소드는 객체의 toString()을 자동으로 호출하고 결과값을 출력
  • equals
    • 객체의 동등성을 비교하는 코드로 재정의 해서 사용한다
    • 기본동작 -> 객체의 동일성을 비교한다
    • *** 동등성(equality) - 같은 데이터를 가지는가
    • *** 동일성(identity) - 같은 객체인가 (같은 참조값을 가지는가)
    • *** String클래스는 equals()메소드가 동등성비교로 재정의 되어있다.
  • hashCode
    • 객체의 고유한 값을 반환하는 메소드
    • 기본 동작 -> 객체의 참조값을 10진수(int)로 반환한다
    • *** String클래스는 저장된 데이터를 가공한 값을 반환한다
    • *** 같은 문자열을 가지고 있으면 같은 hashCode()값이 나온다
  • clone
    • 객체를 복사하여 반환하는 메소드
    • Object클래스에 protected 접근제한자로 설정되어있다
    • 오버라이딩하여 public으로 변경해야하는 경우가 많다
    • 반환타입이 Object이므로 복사하는 클래스로 형변환이 필요하다
    • 예외 처리 구문 (try - catch문) 필요
    • clone()메소드를 오버라이딩하는 클래스는 Interface Cloneable을 상속해야만 한다
    • 깊은 복사된 인스턴스(객체)를 반환한다
  • finalize
    • 객체가 소멸될 때 호출되는 메소드
    • GC(Garbage Collector)가 객체를 파괴할 때 호출하는 메소드
    • 건들지 말 것! // 재정의 하지말고, 사용도 하지 말 것!

 

kimdevel.tistory.com/61

 

자바 국비 16일차. API. 이제부터 진짜 집중할 때..!

21. 01. 28 (목) 이제부터 수업 진짜 빡시게 들어야한다. 내가 독학한 부분이 벌써 끝나가기 때문이다. 수업 듣기 전 API부분 까지 봤었는데 사실 이 부분을 공부할 땐 독학이 흐지부지 될 때여서 안

kimdevel.tistory.com

 

반응형
👋국비 후기 모음👋 (이력도 확인 가능!)

댓글