글 작성자: 취업중인 피터팬
728x90
기본 환경
JDK : 1.8.0_261 버전
JRE : 1.8.0_261 버전
JAVA VERSION : 8 업데이트 261
Eclipse IDE VERSION : 2020-06버전

 

목표

자바에서 관리하는 패키지 속성에 대해 이해한다.


 

 

패키지 목록

패키지 특성상 먼저 사진으로 생성한 패키지를 보여드리겠습니다. 이번 게시물에서 주목할 패키지는 형광칠한 ex09package.kosmo.area 와 ex09package.kosmo.perimeter 입니다. 각각 같은 클래스명이고 다른 패키지로 묶여 있습니다. 이를 사용하기 위해서  E02CircleMain클래스에서 어떻게 객체를 생성하고 함수를 호출하는지 알아보겠습니다.

 

package : ex09package.kosmo.area

Circle.java

package ex09package.kosmo.area;

//public을 사용하지 않으면 클래스를 찾을 수 없음
public class Circle {
	double rad;
	final double PI;
	
	public Circle(double rad) {
		this.rad = rad;
		PI = 3.14159;
	}
	
	public double getArea() {
		return PI * rad * rad;
	}
}

원의 넓이를 구하는 클래스 입니다.

 

 

 

package : ex09package.kosmo.perimeter

Circle.java

package ex09package.kosmo.perimeter;

public class Circle {
	double rad;
	final double PI;
	
	public Circle(double rad) {
		this.rad = rad;
		PI = 3.14159;
	}
	
	public double getPerimeter() {
		return 2 * PI * rad;
	}
	
}

원의 둘래를 구하는 클래스입니다.

 

 

E02CircleMain

package ex09package;

import ex09package.kosmo.perimeter.Circle;
/*
 메인 클래스에서 다른 패키지의 클래스를 import하려면
 해당 클래스는 반드시 public으로 선언해야 한다.
 그렇지 않으면 "not visible" 에러가 발생한다.
 */
public class E02CircleMain {

	public static void main(String[] args) {
		
		//원의 넓이 : 클래스 사용을 위해 풀패키지 경로를 사용
		ex09package.kosmo.area.Circle circle1 = new ex09package.kosmo.area.Circle(6.5);
		System.out.println("반지름이 6.5인 원의 넓이 : " + circle1.getArea());
		
		//원의 둘레 : import하여 해당 클래스를 문서의 포함
		Circle circle2 = new Circle(4.5);
		System.out.println("반지름이 4.5인 원의 둘레 : " + circle2.getPerimeter());
	}

}

위에 코드처럼 import한 패키지는 그냥 객체를 생성하듯이 생성하기만 하면 됩니다. 하지만 임포트 하지 않는 객체를 생성하기 위해서는 풀패키지 경로를 사용해야 합니다.

'Java > Java_기초부터 _끝까지' 카테고리의 다른 글

Java 기초 package(3)  (0) 2020.11.12
Java 기초 package(1)  (0) 2020.11.12
Java 기초 클래스 - 연습문제(3)  (0) 2020.11.10
Java 기초 클래스 - 연습문제(2)  (0) 2020.11.10
Java 기초 클래스 - 연습문제(1)  (0) 2020.11.10