• 회원가입
  • 로그인
  • 구글아이디로 로그인

[class] Java - Packages (패키지) / API

1,107  
목차
  1. Java Packages & API
  2. 내장 패키지 (Built-in Package)
  3. 클래스 가져오기 (Import a Class)
  4. 패키지 가져오기 (Import a Package)
  5. 사용자 정의 패키지 (User-defined Package)

 

Java Packages & API

 

1. 패키지 개념.

관련 클래스를 그룹화. (= 디렉토리와 유사.)

 

2. 패키지 사용 이유.

① 이름 충돌 방지.

② 유지 보수 용이. 

 

3. 패키지 범주.

① 내장 패키지. (= Java API의 패키지)

② 사용자 정의 패키지. (= 자신이 생성한 패키지)

 

 

내장 패키지 (Built-in Package)

 

1. Java API

Java 개발 환경에 무료로 미리 작성 포함된 클래스 라이브러리.

※ 입력, 데이터베이스 프로그래밍 등을 관리 위한 구성 요소 포함. 

※ 전체 목록 : https://docs.oracle.com/javase/8/docs/api/


2. Java API는 클래스/패키지 수준으로 각각 가져오기 가능.

① 클래스 수준 : 단일 클래스 (메소드/속성과 함께) 가져오기.

② 패키지 수준 : 모든 클래스 포함하는 전체 패키지 가져오기.



[Java API 클래스/패키지 가져오기 구문]

import 키워드 사용.

  

import package.name.Class;   // 클래스 가져오기.

(예제)

import java.util.Scanner; // Scanner 클래스 가져오기.

 

import package.name.*;   // 패키지 가져오기.

(예제)

import java.util.*; // java.util 패키지 가져오기.

 

 

클래스 가져오기 (Import a Class)

[예제]

 

java.util 패키지 안의 Scanner 클래스만 가져오기.

※ Scanner 클래스 : 사용자 입력값 받을  때 사용. 

 


1. C:\Users\사용자명\Hz.java 생성.

 

import java.util.Scanner; // import the Scanner class 


class Hz {

  public static void main(String[] args) {

    Scanner myObj = new Scanner(System.in, "EUC-KR");

    String userSite;


    System.out.println("사이트 입력하세요."); 

    userSite = myObj.nextLine();

       

    System.out.println("사이트명: " + userSite);        

  }

}

 

PS. CMD 모드에서 UTF-8 언어셋 사용 시, 한글이 ???? 처럼 깨짐.


2. 실행.

 

C:\Users\aspire>java -Dfile.encoding=UTF-8 Hz.java

※ 사용자 입력: 홈짱닷컴 Homzzang.com

 

결과값: 홈짱닷컴 Homzzang.com

 

패키지 가져오기 (Import a Package)

[예제] 

 

java.util 패키지 가져오기.

 

※ java.util. 패키지에 포함된 클래스: 날짜/시간/난수 생성기/기타.

※ 사용자 입력값 받기면 목적이면, Scanner 클래스 가져오기 권장. 

 


※ 파란색 부분만 다를 뿐, 위 클래스 가져오기 예제와 동일.

 

import java.util.*; // java.util 패키지 가져오기.


class Hz {

  public static void main(String[] args) {

    Scanner myObj = new Scanner(System.in, "EUC-KR");

    String userSite;    


    System.out.println("사이트 입력하세요."); 

    userSite = myObj.nextLine();   

       

    System.out.println("사이트명: " + userSite);        

  }

 

 

사용자 정의 패키지 (User-defined Package)

 

1. 

Java는 패키지 안에 클래스 저장시킴.

클래스 실행 시, 패키지 경로 지정 필요.

(예) 

root > package > class.java

 

2.

패키지 생성 : package 키워드 사용.

※ 패키지 명은 소문자로 작성해야 함. (∵ 클래스와 충돌 방지.)

 

[예제] 


1. C:\Users\사용자명\Hz.java 생성.

 

package myhz;

class Hz {

  public static void main(String[] args) {

    System.out.println("홈짱닷컴 Homzzang.com");

  }

}

 


2. 파일 컴파일

 

C:\Users\aspire>javac -encoding UTF-8 Hz.java

또는,

C:\Users\aspire>javac -encoding UTF-8 -d . Hz.java

 

-d 옵션 : 파일 저장 경로.

※ 점 ( . ) : 같은 디렉토리.


3. 패키지 안의 클래스 실행.

 

C:\Users\aspire>java myhz.Hz

 

또는,

C:\Users\aspire>java myhz/Hz

 

결과값: 홈짱닷컴 Homzzang.com


PS. C:\Users\사용자명>java Hz 경우, 에러 발생.


C:\Users\aspire>java Hz

Error: Could not find or load main class Hz

Caused by: java.lang.NoClassDefFoundError: myhz/Hz (wrong name: Hz) 

 



분류 제목
method Java - Method Overloading (메서드 오버로딩) ★
method Java - Scope (유효범위) - 변수 효력범위
method Java - Recursion (재귀)
class Java - OOP (객체 지향 프로그래밍)
class Java - Class (클래스) / Object (객체)
class Java - Class Attribute (클래스 속성)
class Java - Class Methods (클래스 메서드)
class Java - Constructors (생성자)
class Java - Modifiers (수정자) - 접근제어자
class Java - Encapsulation (캡슐화) ※ Getter (게터) / Setter (세터)
class Java - Packages (패키지) / API
class Java - Inheritance (상속)
class Java - Polymorphism (다형성)
class Java - Inner Classes (내부 클래스)
class Java - Abstraction (추상화)
class Java - interface (인터페이스) ★
class Java - enums (이넘) - 상수 열거형 클래스
class Java - User Input (사용자 입력) - Scanner (스캐너) ★★★
class Java - Date/Time (날짜/시간)
class Java - ArrayList (어레이리스트) - 랜덤 접근 최적화 된 유사 배열
2/10
목록
찾아주셔서 감사합니다. Since 2012