yoni
[16][OOP] package(Folder, Directory), Package Import 본문
java of educational by contents
[16][OOP] package(Folder, Directory), Package Import
yoni-1117 2018. 12. 1. 19:18[01] package(java, '.') = Folder(windows, '\') = Directory(linux, '/') 동일함.
- 폴더에서 파일을 분류하듯이 패키지(폴더)도 클래스를 그룹별로 분리합니다.
1. package 실습
1) '/src/sungjuk' 패키지(폴더, 디렉토리)를 생성
2) 생성된 패키지 확인
3) 'sungjuk' 패키지를 선택하고 클래스 추가
4) package를 지우지말고 Student class 추가
5) 클래스 생성후 아래처럼 작업합니다.
▷ /src/sungjuk/Student.java
[실행 화면]
▷ /src/sungjuk/StudentUse.java
--------------------------------------------------------------------
--------------------------------------------------------------------
7) 콘솔창에서 CLASSPATH에 '.'의 경로를 확인 하세요.
- 설정후 'cmd' 명령을 다시 실행합니다.
/ws_java/oop/bin/sungjuk>echo %CLASSPATH% 8) 터미널(콘솔)에서의 실행
2. 다른 패키지의 클래스 사용 - 다른 패키지의 클래스는 기본적으로 사용할 수 없습니다.
- import(수입) 선언을 이용하면 사용 가능합니다.
1) /src/school 패키지(폴더)를 생성
2) 'StudentUse.java' 클래스 생성
[실행 화면]
왕눈이 ▷ /src/school/StudentUse.java
--------------------------------------------------------------------
--------------------------------------------------------------------
3. 2단 이상의 package 실습[ src -> new -> Package ]
- '.'은 자바에서 폴더의 구분자 역활을 합니다.
운영체제에서 '\', '/'는 폴더의 구분자 역활을 합니다.
1) dev.blog.java -> /src/dev/blog/java
dev.blog.jsp -> /src/dev/blog/jsp
dev.blog.spring -> /src/dev/blog/spring
dev.blog.project -> /src/dev/blog/project
1단 2단 3단
2) dev.blog.visit -> 방명록
dev.blog.itnews -> IT News
1. package 실습
1) '/src/sungjuk' 패키지(폴더, 디렉토리)를 생성
2) 생성된 패키지 확인
3) 'sungjuk' 패키지를 선택하고 클래스 추가
4) package를 지우지말고 Student class 추가
5) 클래스 생성후 아래처럼 작업합니다.
▷ /src/sungjuk/Student.java
--------------------------------------------------------------------
package sungjuk;
public class Student {
String name = "왕눈이";
String grade = "A";
public void print(){
System.out.println(this.name); // this 생략 가능
System.out.println(this.grade);
}
}
--------------------------------------------------------------------
6) 같은 패키지안에서 사용
[실행 화면]
왕눈이
A
--------------------------------------------------------------------
package sungjuk;
public class StudentUse {
public static void main(String[] args) {
Student student = new Student();
student.print();
}
}
7) 콘솔창에서 CLASSPATH에 '.'의 경로를 확인 하세요.
- 설정후 'cmd' 명령을 다시 실행합니다.
/ws_java/oop/bin/sungjuk>echo %JAVA_HOME%
C:\jdk1.8.0
.;C:\jdk1.8.0\lib\tools.jar
- 패키지에 소속된 클래스는 패키지 외부에서 실행해야 클래스 인식이 됩니다.
- 실행시 클래스 앞에 패키지를 전부 명시해야 합니다.
- 'bin' 폴더에서 실행합니다.
- Eclipse는 이모든 작업을 자동화해줍니다.
C:/작업 기준 폴더/ws_java/oop/bin/sungjuk>java StudentUse
오류: 기본 클래스 StudentUse을(를) 찾거나 로드할 수 없습니다.- 실행시 클래스 앞에 패키지를 전부 명시해야 합니다.
- 'bin' 폴더에서 실행합니다.
- Eclipse는 이모든 작업을 자동화해줍니다.
C:/작업 기준 폴더/ws_java/oop/bin/sungjuk>java StudentUse
- 패키지안에 있는 클래스는 패키지밖에서 실행해야합니다.
C:/작업 기준 폴더/ws_java/oop/bin>java sungjuk.StudentUse
성명: 왕눈이
Grade: A
2. 다른 패키지의 클래스 사용
- import(수입) 선언을 이용하면 사용 가능합니다.
1) /src/school 패키지(폴더)를 생성
2) 'StudentUse.java' 클래스 생성
[실행 화면]
왕눈이
A
--------------------------------------------------------------------
package school;
// import sungjuk.*;
import sungjuk.Student;
import sungjuk.Student;
public class StudentUse {
public static void main(String[] args) {
Student student = new Student();
student.print();
}
}
3. 2단 이상의 package 실습[ src -> new -> Package ]
- '.'은 자바에서 폴더의 구분자 역활을 합니다.
운영체제에서 '\', '/'는 폴더의 구분자 역활을 합니다.
1) dev.blog.java -> /src/dev/blog/java
dev.blog.jsp -> /src/dev/blog/jsp
dev.blog.spring -> /src/dev/blog/spring
dev.blog.project -> /src/dev/blog/project
1단 2단 3단
2) dev.blog.visit -> 방명록
dev.blog.itnews -> IT News
dev.blog.humor -> 코믹 게시판
dev.blog.health -> 건강 게시판
dev.blog.travel -> 여행 상품
dev.blog.member -> 회원
dev.blog.login -> 로그인 내역
dev.blog.admin -> 관리자
dev.blog.source -> 프로그램 소스 자료실
dev.blog.gallery -> 이미지 갤러리
dev.blog.survey -> 설문 조사
dev.blog.media -> MP3/MP4 플레이어
dev.blog.schedule -> 일정
dev.blog.product -> 판매 상품
dev.blog.order -> 주문
dev.blog.reply -> 상품평
dev.blog.qna -> 문의
- 회사명을 패키지로 지정(도메인 역순)
http://weather.kma.co.kr → kr.co.kma.weather.qna
http://week.weather.com → com.weather.week.gallery
dev.blog.health -> 건강 게시판
dev.blog.travel -> 여행 상품
dev.blog.member -> 회원
dev.blog.login -> 로그인 내역
dev.blog.admin -> 관리자
dev.blog.source -> 프로그램 소스 자료실
dev.blog.gallery -> 이미지 갤러리
dev.blog.survey -> 설문 조사
dev.blog.media -> MP3/MP4 플레이어
dev.blog.schedule -> 일정
dev.blog.product -> 판매 상품
dev.blog.order -> 주문
dev.blog.reply -> 상품평
dev.blog.qna -> 문의
- 회사명을 패키지로 지정(도메인 역순)
http://weather.kma.co.kr → kr.co.kma.weather.qna
http://week.weather.com → com.weather.week.gallery
3) 1단 패키지에서의 클래스 생성
- Class 생성시 패키지를 dev로 지정하세요.
▷ /src/dev/Test.java
--------------------------------------------------------------------
--------------------------------------------------------------------
package dev;
public class Test {
public static void main(String[] args) {
// TODO Auto-generated method stub
}
}
--------------------------------------------------------------------
4) 2단 패키지에서의 클래스 생성
- Class 생성시 패키지를 dev.blog로 지정하세요.
▷ /src/dev/blog/Test.java
--------------------------------------------------------------------
--------------------------------------------------------------------
package dev.blog;
public class Test {
public static void main(String[] args) {
// TODO Auto-generated method stub
}
}
--------------------------------------------------------------------
- Class 생성시 패키지를 dev.blog.java로 지정하세요.
▷ /src/dev/blog/java/Test.java
--------------------------------------------------------------------
--------------------------------------------------------------------
package dev.blog.java;
public class Test {
public static void main(String[] args) {
// TODO Auto-generated method stub
}
}
--------------------------------------------------------------------
'java of educational by contents' 카테고리의 다른 글
[18][OOP] 예외처리(Exception), throws 문 (0) | 2018.12.02 |
---|---|
[17][OOP] 자바 시스템에서 제공하는 Package Import, String, DecimalFormat, Date, SimpleDateFormat, Random class (0) | 2018.12.02 |
중간점검 test (0) | 2018.12.01 |
[15][OOP] Constructor(생성자) (0) | 2018.12.01 |
[14] 다양한 메소드의 리턴 실습 ★ (0) | 2018.12.01 |
Comments