-
카테고리
-
세부 분야
백엔드
-
해결 여부
미해결
object 클래스와 데이터 타입의 관계
20.08.30 00:50 작성 조회수 211
6
안녕하세요 질문 하나 남깁니다. 오브젝트 클래스가 모든 클래스의 상위 클래스라는 개념은 이해하고 있는데 데이터 타입에 있어서도 상위개념일까요? int 자리에 object로 변경하면 int나 float같은 데이터 타입도 가능한 이유가 이해가 잘 안가네요 확인 부탁드려요
답변을 작성해보세요.
3
박매일
지식공유자2020.08.30
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 을 참고해보세요.^^
답변 1