ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 210423_7패키지(package)
    JAVA(Sol)(정리대기중..언젠가) 2021. 4. 23. 17:15

    자바에서는 폴더를 패키지라고 부른다

    패키지는 유사한 역할을 하는 클래스들을 하나의 폴더에 넣고 분류하는 기법중에 하나다.

     

    패키지를 구성하는 방법중 가장 많이 사용하는 방법은 도메인을 거꾸로 작성하는것이다

     

    ex) kr.co.mysite.beans

         com.oracle.db

     

     

    testjava 프로젝트에 위치하는 하위 패키지들

    package a.b.c;
    
    public class Moon {
    
    	
    		public String shine() {
    			
    			return "달빛이 은은하게 비춥니다.";
    		}
    		
    }
    
    package kr.co.mysite.beans;
    
    public class Star {
    
    	public String shine() {
    		return "별빛이 반짝반짝 합니다.";
    	}
    }
    
    package testjava; // 현재 클래스의 패키지 위치
    
    // 1. import한다 (다른 클래스를 참조할때, 동일 패키지는 import할 필요없다)
    import a.b.c.*; //c 패키지 아래 모든 클래스 참조, 동시에 여러클래스 참조할때
    import kr.co.mysite.beans.Star; //클래스 한개만 참조할때
    import a.*; //잘못된 참조, * 하위 !!클래스!!를 말하는것, 하위 폴더는 해당안됨
    
    public class CallStarMoon {
    
    	public static void main(String[] args) {
    
    		// 2. 인스턴스 생성한다
    		Moon mn = new Moon(); 
    		// 3. 메서드를 호출한다
    		System.out.println(mn.shine());
    		
    		Star st = new Star();
    		System.out.println(st.shine());
    
    	}
    
    }
    //달빛이 은은하게 비춥니다.
    //별빛이 반짝반짝 합니다.

     


     

    package study; //콘솔창에서 컴파일 명령은 java -d.p_Star.java 식으로 해야한다
    				//실행명령은 패키지가 시작하는 곳에서 java study.p_Star 처럼 패키지명을 포함한다
    public class p_Star { // 현재클래스를 컴파일하면 study라는 폴더가 생성되고 그밑에 class파일이 생성된다
    
    	public String show() {
    		return "☆★☆★☆★☆★";
    	}
    
    	public static void main(String[] args) {
    		p_Star o = new p_Star();
    		System.out.println(o.show());
    	}
    }
    

     

    패키지 클래스들의 참조 import

     

    package june;
    
    public class p_Tree {
    	public String show() {
    		return "♧♣♧♣♧♣♧♣";
    	}
    
    }
    
    package kr.co.java;
    
    public class p_Hart {
    
    	public String show() {
    			return "♥♡♥♡♥♡♥♡♥♡";
    }
    }
    package using;
    
    import june.*;
    import kr.*; // 이두개의 패키지엔 참조할 클래스가없다
    import kr.co.*; // co.*---co패키지 밑의 클래스만 참조한다 하부패키지는 참조 안한다
    import kr.co.java.p_Hart;
    
    public class PackTest {
    	public static void main(String[] args) {
    
    		p_Tree t = new p_Tree();
    		p_Hart h = new p_Hart();
    
    		System.out.println(t.show());
    		System.out.println(h.show());
    	}
    
    }
    

     


    package a;
    
    public class Hello {
    
    	public static void main(String[] args) {
    
    		System.out.println("Hello~~~~~");
    	}
    
    }
    

    패키지가 있는 것의 컴파일 -d  ===> 현재 위치로부터 패키지 생성한다.

    javac -d . Hello.java

    패키지가 있는 것의 실행 명령은 패키지가 시작하는 곳에서 내린다.

    java a.Hello

     

     

     

Designed by Tistory.