[JAVA] 자바 클래스 외부 구성 요소 - 외부 클래스

    728x90

    안녕하세요

    로로봉입니다 : )

    자바에서 클래스 외부 구성 요소 중 마지막으로 외부 클래스에 대해 알아보도록 하겠습니다.


    외부 클래스는 public 클래스의 외부에 추가로 정의한 클래스를 말합니다.

    1개의 자바 소스 파일에는 최대 1개의 public 클래스만 존재할 수 있고, 그 클래스명은 파일명과 일치해야 합니다.

    소스 파일 안에서 public 클래스를 제외한 모든 클래스는 외부 클래스입니다.

    public 클래스가 아니면 다른 패키지에서 임포트할 수 없으므로 외부 클래스는 같은 패키지 안에서만 사용할 수 있습니다.

    [BCD.java 파일]
    
    package abc.bcd;
    
    class ABC {			// 외부 클래스는 다른 패키지에서 임포트가 불가능.
       ...
    }
    public class BCD {		// public 클래스는 다른 패키지에서 임포트 가능.
       ...
    }

    BCD.java 소스 파일에는 2개의 클래스가 있습니다. 소스 파일명이 BCD이므로 public을 붙일 수 있는 클래스는 BCD 클래스 입니다.

    ABC클래스는 외부 클래스로서 public을 붙일 수 없기 때문에 다른 패키지에서 임포트 자체를 할 수 없습니다.

    다른 패키지에서 이 클래스를 사용하려면 ABC.java 파일로 다시 작성한 후 public을 붙여서 사용해야 합니다.

    외부 클래스는 다른 패키지에서 불러올 순 없지만 동일한 패키지 내에서는 객체를 생성하여 사용할 수 있습니다.

    package com.Test;
    
    class A {
       int m = 3;
       int n = 4;
       
       void print() {
          System.out.println(m + ", " + n);
       }
    }
    public class JavaTest {
       public static void main(String[] args) {
          A a = new A();	// 같은 패키지 내에 있는 클래스이므로 객체를 생성하여 사용할 수 있다.
          a.print();
       }
    }

    클래스의 외부 구성 요소를 사용하게 된다면, 소스 코드상에서 패키지, 임포트, 외부 클래스 순으로 순서를 지켜서 위치해야 합니다.

    반드시 3가지가 모두 존재할 필요는 없습니다.

    하나도 없더라도 오류가 나거나 잘못된 것은 아니기 때문에 사용하고자 하는 것들을 알맞게 사용하는 것이 중요합니다.

     

    좋아요 ♥ + 구독 부탁드립니다 : )

    728x90
    반응형

    댓글