[Java] java.lang 패키지

Devlog·2024년 3월 27일

Java

목록 보기
24/41

✔️ java.lang 패키지

: 자바 프로그램의 기본적인 클래스를 담고 있는 패키지
: java.lang 패키지에 있는 클래스와 인터페이스는
import 없이 사용할 수 있음

ex)
String, System 클래스도
java.lnag 패키지에 포함되어 있기 때문에
import하지 않고 사용함

• java.lang 패키지에 속하는 주요 클래스 와 간략한 용도


✔️ 자바 API 도큐먼트

- API(Application Programming Interface)
: 라이브러리(library)라고 부르기도함
: 프로그램 개발에 자주 사용되는 클래스 및 인터페이스 모음
: String 클래스와 System 클래드소 모두 API에 속하는 클래스임

- 이클립스에서 API 도큐먼트 보는 방법
1) 코드 편집 뷰에서 String 클래스를 마우스로 선택
2) F1키를 누르면 자동으로 API 도큐먼트를 보여주는 Help뷰가 나타남
3) Help뷰에서 Javadoc for 'java.lang.String' 링크를 클릭
4) Class String 페이지로 이동


✔️ API 도큐먼트에서 클래스 페이지 읽는 방법

1) 최상단의 SUMMARY: NESTED | FIELD | CONSTR | METHOD
에서 SUMMARY는 클래스 내에 선언된 멤버가 무엇이 있는지 알려줌

링크가 있다면 해당 멤버가 있다는 뜻
링크가 없으면 해당 멤버가 없다는 뜻

String 클래스는 NESTED에 링크가 없으므로
중첩 클래스나 중첩 인터페이스가 없다는 의미

반면에 FIELD, CONSTR, METHOD는 모두 링크가 있으므로
public 또는 protected로 선언된 필드, 생성자, 메소드는 있다는 뜻

2)
① 클래스의 선언부
: 클래스가 final 또는 abstract 키워드가 있는지 확인함
String 클래스는 final 키워드가 있으므로 부모 클래스로는 사용할 수 없음

그리고 extends 뒤에 언급된 부모 클래스를 보면
String 클래스는 Object를 상속 받고 있음
상속 관계에 있는 모든 클래스를 보려면 ②의 상속 계층도를 보면 됨

마지막으로 implemets 키워드 뒤에 언급된 인터페이스가 무엇인지 보면
String 클래스는 Serializable, Comparable, CharSequence와 같이
3개의 인터페이스를 구현하고 있음

3) 클래스에 선언된 필드 목록
SUMMARY: NESTED | FIELD | CONSTR | METHOD

3-1) FIELD 링크

Modifier and Type 컬럼에는 static 또는 protected여부와 타입이 표시됨
Field와 Description 컬럼에는 필드 이름이 굵은 글씨고 표시되어 있고,
아래에는 필드에 대한 간단한 설명이 있음

필드 이름을 클릭하면 상세 설명 페이지로 이동함

3-2) CONSTR 링크

CONSTR 링크를 클릭하면 생성자 목록으로 이동함

String 클래스에는 매개 변수의 타입 또는 개수를 달리해서
10개가 넘는 생성자들이 오버로딩되어 있음

모두 new 연산자로 호출해서 String 객체를 생성할 수 있음
굵제 표시된 것이 생성자이름이고, 옆에 간단한 설명이 있음
생성자 이름을 클릭하면 상세 설명 페이지로 이동함

3-3) METHOD 링크

[All Methods] 탭은 전체 메소드 목록을 보여줌
[Static Methods] 탭은 정적 메소드 목록을 보여줌
[Instance Methods] 탭은 인스턴스 메소드 목록을 보여줌

Modifier and Type 컬럼에는
static 또는 protected여부와 리턴 타입이 표시됨
static이 없다면 인스턴스 메소드라는 뜻이고,
protected가 없다면 기본이 public임

Method와 Description 컬럼에는
메로드 이름과 굵은 글씨로 표시되어 있고,
옆에는 메소드에 대해 간단한 설명이 있음

메소드 이름을 클릭하면 상세 설명 페이지로 이동함


✔️ Object 클래스

: 클래스를 선언할 때 extends 키워드로 다른 클래스를
상속하지 않으면 암시적으로 java.lang.Object 클래스를 상속하게 됨

: 자바의 모든 클래스는 Object 클래스의
자식이거나 자손 클래스임

: Object는 자바의 최상위 부모 클래스에 해당함

0개의 댓글