1. **String 클래스**
- String 클래스는 문자 데이터를 저장하고 조작하는 데 사용됩니다. Java에서 String은 불변 객체(Immutable Object)로, 한 번 생성되면 수정할 수 없습니다.
```java
public class StringExample {
public static void main(String[] args) {
String greeting = "Hello, World!";
System.out.println(greeting.toUpperCase()); // 대문자로 변환: "HELLO, WORLD!"
System.out.println(greeting.substring(7)); // 부분 문자열 추출: "World!"
}
}
```
2. **ArrayList 클래스**
- ArrayList는 가변 크기의 배열을 구현한 클래스입니다. 요소를 추가하거나 삭제할 수 있어, 크기가 고정된 배열보다 유연하게 사용할 수 있습니다.
```java
import java.util.ArrayList;
public class ArrayListExample {
public static void main(String[] args) {
ArrayList<String> fruits = new ArrayList<>();
fruits.add("Apple");
fruits.add("Banana");
fruits.add("Orange");
System.out.println(fruits); // 출력: [Apple, Banana, Orange]
fruits.remove("Banana");
System.out.println(fruits); // 출력: [Apple, Orange]
}
}
```
3. **HashMap 클래스**
- HashMap은 키-값 쌍으로 데이터를 저장하는 데 사용됩니다. 빠른 검색과 데이터 매핑에 유용합니다.
```java
import java.util.HashMap;
public class HashMapExample {
public static void main(String[] args) {
HashMap<String, Integer> scores = new HashMap<>();
scores.put("Alice", 90);
scores.put("Bob", 85);
scores.put("Charlie", 88);
System.out.println(scores); // 출력: {Alice=90, Bob=85, Charlie=88}
System.out.println("Bob's score: " + scores.get("Bob")); // Bob의 점수: 85
}
}
```
4. **Date 클래스**
- Date 클래스는 날짜와 시간을 관리하기 위한 클래스입니다. 날짜와 시간에 관한 다양한 정보를 제공하며, 다른 시간 관련 클래스들과 함께 사용됩니다.
```java
import java.util.Date;
public class DateExample {
public static void main(String[] args) {
Date now = new Date();
System.out.println("Current Date and Time: " + now);
}
}
```
5. **Thread 클래스**
- Thread 클래스는 멀티스레딩을 구현할 때 사용됩니다. Java는 멀티스레딩을 통해 동시에 여러 작업을 수행할 수 있습니다.
```java
public class ThreadExample {
public static void main(String[] args) {
Thread thread = new Thread(() -> {
for (int i = 0; i < 5; i++) {
System.out.println("Thread: " + i);
try {
Thread.sleep(500); // 0.5초 대기
} catch (InterruptedException e) {
e.printStackTrace();
}
}
});
thread.start();
}
}
```
이 외에도 Java는 다양한 기본 클래스를 제공하며 각각의 클래스는 풍부한 기능을 지원합니다. 위의 클래스들을 잘 이해하고 활용하면 Java 프로그래밍에서 많은 장점을 얻을 수 있습니다.