Java 기초 package(2)
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 |