반응형
# 패키지 (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
}
}
반응형
'인프런 강의 학습 > Java TPC' 카테고리의 다른 글
Java TPC_21일차 ArrayList / Wrapper 클래스 (0) | 2022.01.28 |
---|---|
Java TPC_20일차 문자열 / API 생성하기 / ArrayList 흉내내기 (0) | 2022.01.27 |
Java TPC_18일차 객체지향 프로그래밍의 3대 특징 / 다형성 / 추싱클래스와 인터페이스 (0) | 2022.01.24 |
Java TPC_17일차 Object 클래스 / Object 클래스 활용 (0) | 2022.01.24 |
Java TPC_16일차 추상 클래스 / 인터페이스 / 인터페이스(규약)와 JDBC의 관계 / 인터페이스의 상속관계 (0) | 2022.01.23 |