본문 바로가기
Java

JAVA 중급 1 - Object 클래스

by KongJiHoon 2025. 2. 14.

1. java.lang 패키지

  • 자바가 기본으로 제공하는 라이브러리중에 가장 기본이 되는 것이 바로 java.lang패키지이다. lang은 Laguage의 줄임말.
  • 대표적 클래스
    • Object: 모든 자바 객체의 부모 클래스
    • String: 문자열
    • Integer, Long, Double : 래퍼타입, 기본형 데이터 타입을 객체로 만든 것
    • Class : 클래스 메타 정보
    • System : 시스템과 관련된 기본 기능들을 제공

 

2. Object

  • 묵시적 : 개발자가 코드에 직접 기술하지 않아도 시스템 또는 컴파일러에 의해 자동으로 수행되는 것을 의미
  • 명시적 : 개발자가 코드에 직접 기술해서 작동하는 것을 의미

 

Object클래스가 최상위 부모 클래스인 이유

  • 공통 기능 제공
    • Object 는 모든 객체에 필요한 공통 기능을 제공한다. Object 는 최상위 부모 클래스이기 때문에 모든 객체는 공통
      기능을 편리하게 제공(상속) 받을 수 있다
    • 객체의 정보를 제공하는 toString()
    • 객체의 같음을 비교하는 equals()
    • 객체의 클래스 정보를 제공하는 getClass()
    • 기타 여러가지 기능
  • 다형성의 기본 구현
    • 부모는 자식을 담을 수 있다. Object 는 모든 클래스의 부모 클래스이다. 따라서 모든 객체를 참조할 수 있다. 
      Object 클래스는 다형성을 지원하는 기본적인 메커니즘을 제공한다. 모든 자바 객체는 Object 타입으로 처리될 수
      있으며, 이는 다양한 타입의 객체를 통합적으로 처리할 수 있게 해준다.

 

3. Object(2)

  • Object는 모든 객체의 부모이므로 어떤 객체든지 인자로 전달할 수 있다.
    • 하위 객체에서 정의한 메서드를 사용하려면 다운캐스팅이 필요하다.
    • 모든 타입의 부모이므로, 객체들을 배열에 담을 수 있다.
    • 또한 toString()등 메서드 오버라이딩하여 사용할 수 있다.
  • 정적 의존관계 Vs 동적 의존관계
    • 정적 의존관계는 컴파일 시간에 결정, 주로 클래스 간의 관계를 의미
    • 동적 의존관계는 프로그램을 실행하는 런타임에 확인할 수 있는 의존관계이다. 어떤 객체가 인자로 전달될 지는 프로그램을 실행해봐야 알 수 있다.
  • 동일성과 동등성
    • 동일성(identity) : ==연산자를 사용해서 두 객체의 참조가 동일한 객체를 가리키고 있는지 확인
      • 두 객체의 참조값을 비교한다.
    • 동등성(Equality) : equal() 메서드를 사용하여 두 객체가 논리적으로 동등한지 확인.

 

'Java' 카테고리의 다른 글

Java 중급 1 - String  (0) 2025.02.14
Java 중급 1 - 불변객체  (0) 2025.02.14
Java 기본 - 다형성과 설계  (0) 2025.01.30
Java 기본 - 다형성 1  (2) 2025.01.22
Java 기본 - 상속  (0) 2025.01.03