Java Study #8

allzeroyou·2022년 2월 3일
0

Java

목록 보기
8/14

1. 패키지

비슷한 목적으로 생성된 클래스 파일들을 한 곳에 모아 둔 폴더

자바 제공 API의 대표적인 패키지

  • 기본 클래스들을 묶어 놓은 java.lang
  • 유용한 확장 클래스 들을 묶어 놓은 java.util
  • 자바 그래픽과 관련된 클래스들을 묶어 놓은 java.swing과 javafx
  • 자바의 입출력 클래스들을 묶어 놓은 java.io와 java.nio

패키지 사용으로 클래스가 저장되는 공간이 분리되어 클래스명의 충돌을 방지할 수 있다.
서로 다른 패키지를 사용하면 그 안에 있는 클래스명이 같더라도 경로가 다르므로 충돌 문제가 발생하지 않는다.
패키지명까지 같을 수 있으므로 일반적으로 회사의 url(도메인)주소를 사용함.

2. 임포트

다른 패키지 내의 클래스를 사용하기 위한 문법 요소
소스 코드상에서 패키지 구문의 다음 줄에 위치함.
프로그램이 동작할 때는 자신의 패키지 내부에 위치한 클래스만 사용할 수 있음.
자바가 제공하는 API난 다른 개발자가 만든 패키지에 위치한 클래스를 사용하고자 할 때에는 임포트 해야됨.

  1. 클래스의 풀네임 사용
    다른 패키지의 클래스를 사용하는 첫 번째 방법
    클래스의 풀네임은 "패키지명.클래스명"

  2. 임포트사용
    "import 패키지명.클래스명"

3. 외부 클래스

public 클래스의 외부에 추가로 정의된 클래스
1개의 자바 소스 파일에는 최대 1개의 public 클래스만 존재 가능.
그 클래스 명은 파일명과 일치해야 한다.
즉, 1개 소스 파일 안에서 public 클래스를 제외한 모든 클래스는 외부 클래스
public 클래스가 아니면 다른 패키지에서 임포트할 수 없으므로 외부 클래스는 같은 패키지 안에서만 사용 가능.

1개의 소스 파일에 외부 클래스 A를 정의한 예.
외부 클래스인 A는 public 클래스로 선언 불가. 다른 패키지에서는 클래스 A의 인스턴스 생성 불가. 동일한 패키지 내에서는 public 존재 여부와 상관없이 인스턴스 생성 가능

다른 패키지에서도 외부 클래스 A의 객체를 생성하고자 할 때 유일한 방법은 외부 클래스를 별도의 소스 파일로 분리하는 것. 클래스 A도 public 클래스로 선언 가능해 다른 패키지에서도 임포트 가능

클래스 내부 구성 요소처럼 클래스의 외부에도 이들 3가지 외부 구성 요소가 모두 오거나 일부 또는 심지어 하나도 오지 않아도 상관 없음.
다만 소스 코드 상에서는 패키지, 임포트, 외부 클래스 순으로 순서를 지켜 위치해야.
이들 3가지 요소 이외에는 어떤 문법 요소도 위치 불가.


📕 참고문헌) Do it! 자바 완전 정복!
profile
모든 건 zero 부터, 차근차근 헛둘헛둘

0개의 댓글