자바가 기본으로 제공하는 라이브러리(클래스 모음) 중에 가장 기본이 되는 것이 바로 java.lang 패키지이다. 쉽게 이야기해서 자바 언어를 이루는 가장 기본이 되는 클래스들을 보관하는 패키지를 뜻한다.
java.lang 패키지의 대표적인 클래스들
Object: 모든 자바 객체의 부모 클래스String: 문자열Integer, Long, Double: 래퍼 타입, 기본형 데이터 타입을 객체로 만든것Class: 클래스 메타 정보System: 시스템과 관련된 기본 기능들을 제공→ 여기 나열한 클래스들은 자바 언어의 기본을 이루기 때문에 반드시 잘 알아두어야 한다.
java.lang 패키지는 모든 자바 애플리케이션에 자동으로 임포트(import)된다. 따라서 임포트 구문을 사용하지 않아도 된다.
package lang;
import java.lang.System; // 생략 가능
public class LangMain {
public static void main(String[] args) {
System.out.println("Hello Java!");
}
}
자바에서 모든 클래스의 최상위 부모 클래스는 항상 Object 클래스이다.
Parent
package lang.object;
// 부모가 없으면 묵시적으로 Object 클래스를 상속 받는다.
public class Parent {
public void parentMethod() {
System.out.println("Parent.parentMethod");
}
}
Object 클래스를 상속 받는다.
extends Object 코드를 넣어준다.extends Object 는 생략하는 것을 권장한다public class Parent extends Object {
...
}
<aside> 💡
묵시적(Implicit) vs 명시적(Explicit)
묵시적: 개발자가 코드에 직접 기술하지 않아도 시스템 또는 컴파일러에 의해 자동으로 수행되는 것을 의미
명시적: 개발자가 코드에 직접 기술해서 작동하는 것을 의미
</aside>
Child