6장: 패키지와 모듈
1. 패키지의 개념과 필요성
2. 자바의 모듈(module)과 패키지(package)
- 패키지: 관련 클래스/인터페이스를 하나의 디렉터리에 묶음.
- 모듈: 여러 패키지 및 리소스를 포함한 컨테이너.
- Java 9부터 도입된 개념.
- 모듈 예시:
java.base
모듈 (기본 패키지 포함).
3. 패키지 사용법
- 다른 패키지의 클래스 사용:
import java.util.Scanner;
로 특정 클래스만 포함.
import java.util.*;
로 패키지의 모든 클래스 포함.
예시 코드
import java.util.Scanner;
public class ImportExample {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println(scanner.next());
}
}
4. 패키지 만들기
- 선언:
package 패키지명;
→ 첫 줄에 선언.
예시 코드
package UI;
public class Tools {
}
5. 클래스와 메소드의 주요 활용
1. Object 클래스
- 모든 클래스의 부모 클래스.
- 주요 메소드:
getClass()
, hashCode()
, toString()
.
예시 코드
class Point {
private int x, y;
public Point(int x, int y) { this.x = x; this.y = y; }
}
public class ObjectPropertyEx {
public static void print(Object obj) {
System.out.println(obj.getClass().getName());
System.out.println(obj.hashCode());
System.out.println(obj.toString());
}
public static void main(String[] args) {
Point p = new Point(2, 3);
print(p);
}
}
2. equals() 메소드
예시 코드
class Point {
private int x, y;
public Point(int x, int y) { this.x = x; this.y = y; }
public boolean equals(Object obj) {
Point p = (Point)obj;
return (x == p.x && y == p.y);
}
}
3. Wrapper 클래스
예시 코드
public class WrapperEx {
public static void main(String[] args) {
int i = Integer.parseInt("123");
System.out.println(i);
}
}
6. 문자열 관련 클래스
1. String 클래스
- 불변 객체로
equals()
로 내용 비교.
- 주요 메소드:
concat()
, substring()
, replace()
.
예시 코드
public class StringEx {
public static void main(String[] args) {
String a = "C#";
a = a.replace("C#", "Java");
System.out.println(a);
}
}
2. StringBuffer 클래스
예시 코드
public class StringBufferEx {
public static void main(String[] args) {
StringBuffer sb = new StringBuffer("Hello");
sb.append(" World");
System.out.println(sb);
}
}
7. Math와 Calendar 클래스
1. Math 클래스
예시 코드
public class MathEx {
public static void main(String[] args) {
System.out.println(Math.random() * 100);
}
}
2. Calendar 클래스
예시 코드
import java.util.Calendar;
public class CalendarEx {
public static void main(String[] args) {
Calendar now = Calendar.getInstance();
System.out.println(now.get(Calendar.YEAR));
}
}