공부/JAVA
[JAVA]java.lang패키지 Object클래스/Object클래스와 업캐스팅, 다운캐스팅
도토리까꿍v
2020. 12. 7. 03:34
[java.lang패키지와 Object클래스]
1.java.lang패키지는 import하지 않아도 자동으로 포함된다.
2.java.lang패키지에는 Object클래스, String클래스, Boolean클래스, Byte클래스, Short클래스, Integer클래스,
Long클래스, Float클래스, Double클래스들이 있다!
여기서 Object클래스는 모든 클래스의 상위클래스이다.
[예제코드]
C.java
package test.main;
public class C {
public static void main(String[] args) {
Object o="Hello";
//String s = o; --> 에러가 난다.
String s = (String)o;
}
}
[코드설명]
C.java 설명
1. 여기서 java.lang패키지는 import하지 않아도 자동으로 포함된다.
따라서 java.lang패키지 내 모든 클래스를 import하지 않고 사용가능하다.
ex) String a="Hi"; 에서 String클래스는 import를 별도로 하지 않아도 사용가능!
2. 모든 클래스는 Object클래스를 상속받는다. C클래스도, String클래스도 Object가 부모클래스이다.
Object o = "Hello"; 는 업캐스팅
String s = (String)o; 는 다운캐스팅이다.
-> Object클래스는 String클래스의 부모클래스이다! 반대로 말하면 String클래스는 Object클래스의 자식클래스이다!