• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

object 클래스와 데이터 타입의 관계

20.08.30 00:50 작성 조회수 211

6

안녕하세요 질문 하나 남깁니다. 오브젝트 클래스가 모든 클래스의 상위 클래스라는 개념은 이해하고 있는데 데이터 타입에 있어서도 상위개념일까요? int 자리에 object로 변경하면 int나 float같은 데이터 타입도 가능한 이유가 이해가 잘 안가네요 확인 부탁드려요

답변 1

답변을 작성해보세요.

3

Object클래스는 모는 클래스의 최상위클래스입니다. int, float는 클래스 타입이 아니기 때문에 Object클래스와 관련이 없습니다.

단, 아래처럼 쓸수있지만 차이가 있습니다.

int a=10;    VS    Object a=10;

10(정수)은 객체가 아니기에 Object a=10; 이렇게 쓰면 정확하게는 틀린표현입니다.

하지만 코딩을 해보면 에러가 없이 넘어가는 것은 컴파일러가 10(int,정수자료형)를 new Integer(10) 처럼 객체자료형으로 변경을 해주기때문에 가능합니다. 이것을 boxing이라고 합니다. 그래서

Object a=10; ㅡ> Object a=new Integer(10); 이렇게 내부적으로 변경되어서 실행이 되기때문에 가능합니다.

Object 와 int는 아무 관련이 없지만

Object 와 Integer는 클래스이기 때문에 상속관계가 되는것이구요.

이해가 되셨을까요?

강의 뒷쪽에 boxing, unboxing 을 참고해보세요.^^