반응형

# 패키지 (package)

  • 기능이 비슷한 클래스를 모아서 관리하기 쉽게 하기 위해 묶은 것. (package 외부에서 접근하는 것을 막을 때도 사용하긴 하지만 이런식으로 자주 사용하지 않음)

## package 외부에서 접근하는 방법

  • src > TPC31 (class) 생성. / src > kr (package) > tpc (package) > MyClass 생성. 했을 때, TPC31에서 MyClass를 접근하기 위해서는 먼저 아래의 사항을 알아야 한다.
1. class의 full name을 알아야 한다. (kr.tpc.MyClass)
	클래스 명은 아래와 같이 2가지 이다. (예 : 위에서 생성한 MyClass)
	- 기본 이름 : MyClass
	- 패키지를 포함한 이름 (class full name) : kr.tpc.MyClass

2. 접근 권한을 알아야 한다. (public)
	- package 내부에 있는 클래스의 접근권한이 생략된 경우 기본적으로 default 권한을 갖는다.
	(접근 권한을 생략했다고 해서 public 접근권한이 아님)
	- default 접근권한 : package 내부에 있는 클래스에게는 public / 외부에 있는 클래스에게는 private 접근권한.
    
3. import 구문을 이해해야 한다.

 

## package (실습)

package kr.inflearn;

public class MyClass {	// public 생략 시 -> default 접근권한.
	public int sum(int a, int b) {
		int result = 0;
		
		for (int i = a; i <= b; i++) {
			result += i;
		}
		
		return result;
	}
}
import kr.inflearn.MyClass;

public class TPC33 {
	public static void main(String[] args) {
		
		// 방법1. class full name 으로 접근. -> 이 경우 상단에 별도로 import 하지 않아도 된다.
		// 	kr.inflearn.MyClass my = new kr.inflearn.MyClass();
		
		// 방법2. 이 경우 import 필요.
		MyClass my = new MyClass();
		int result = my.sum(1, 10);
		
		System.out.println(result);
				
	}
}

 

# 자바에서 제공하는 API 접근 및 활용

## Java API 접근하기 (Java API : 2단계 package 로 구성 됨)

  • API는 여러개의 클래스 파일을 묶어 놓는 것으로, 대부분 패키지로 되어있다.
  • 자바에서 기본적으로 제공해주는 API의 경우 jrt-fs.jar 처럼 .jar 파일로 묶여 배포가 된다. 해당 파일의 구조를 보면 2단계 구조로 java 밑에 lang, util, io, sql, net 등이 존재함.

## Java API 중 String 클래스를 접근하는 방법

  • String 클래스의 이름은 2가지이다.
1. 기본 이름 : String

2. 패키지를 포함한 이름 (class full name) : java.lang.String
  • java.lang 패키지는 디폴트 패키지로 클래스를 만들면 자동으로 import 된다. 
import java.lang.*;

## Java API 접근하기 (실습)

// import java.lang.*; 생략되어 있음.

public class TPC34 {
	public static void main(String[] args) {
		// String
		// java.lang.String str = new java.lang.String("APPLE");
		
		String str = new String("APPLE");
		String temp = str.toLowerCase();
		System.out.println(temp);	// apple
		System.out.println(str.charAt(3));	// L
		System.out.println(str.length());	// 5
		System.out.println(str.indexOf("PL"));	// 2
		System.out.println(str.indexOf("PX"));	// 실패 -1 반환.
		System.out.println(str.replaceAll("P", "X"));	// AXXLE
	}
}
반응형

+ Recent posts