728x90
반응형
SMALL
Java Generics: 쉽고 따뜻한 가이드 😊
Java 제네릭(Generic)은 코드 재사용성을 높이고 타입 안정성을 제공하는 중요한 개념입니다. 초보자를 위한 쉽고 따뜻한 설명과 실전 예제로 이해를 도와드릴게요. 😊
🙌 안녕하세요, 개발을 사랑하는 여러분!
Java를 배우면서 Generics(제네릭)이라는 단어, 한 번쯤 들어보셨을 거예요. 처음엔 조금 어렵게 느껴질 수 있지만, 천천히 따라오시면 "아! 이거구나!" 하실 거예요. 오늘은 제네릭의 기본 개념부터 실전 활용까지 함께 배워볼게요. 😊
📚 Java Generics란?
Generics는 Java에서 컴파일 시점에 타입을 체크할 수 있도록 도와주는 기능이에요.
주요 목표는 두 가지예요:
- 타입 안정성: 잘못된 타입 사용 방지
- 코드 재사용성: 여러 타입에 대해 동일한 코드를 작성 가능
쉽게 말해, 하나의 틀을 만들어 다양한 타입을 처리할 수 있게 해주는 도구랍니다!
🤔 왜 필요할까요?
- 코드의 안전성이 올라가요.
컴파일 시점에 타입을 확인하니, 런타임 에러를 줄일 수 있답니다. - 코드가 간결해져요.
여러 타입을 처리하기 위해 동일한 코드를 반복 작성할 필요가 없어요.
✍️ 제네릭 사용법
1. 제네릭 클래스
클래스 선언 시 <T>
를 사용해 타입 매개변수를 정의할 수 있어요.
// 제네릭 클래스 정의
class Box<T> {
private T item;
public void setItem(T item) {
this.item = item;
}
public T getItem() {
return item;
}
}
// 제네릭 클래스 사용
public class Main {
public static void main(String[] args) {
Box<String> stringBox = new Box<>();
stringBox.setItem("Hello");
System.out.println(stringBox.getItem());
Box<Integer> intBox = new Box<>();
intBox.setItem(123);
System.out.println(intBox.getItem());
}
}
결과:
Hello
123
2. 제네릭 메서드
메서드에만 제네릭을 적용할 수도 있어요.
public class Main {
public static <T> void printArray(T[] array) {
for (T element : array) {
System.out.print(element + " ");
}
System.out.println();
}
public static void main(String[] args) {
String[] stringArray = {"A", "B", "C"};
Integer[] intArray = {1, 2, 3};
printArray(stringArray); // A B C
printArray(intArray); // 1 2 3
}
}
3. 제네릭 와일드카드
와일드카드는 제네릭 타입의 범위를 설정할 때 사용돼요.
import java.util.List;
public class Main {
public static void printList(List<?> list) {
for (Object obj : list) {
System.out.println(obj);
}
}
public static void main(String[] args) {
List<String> stringList = List.of("Apple", "Banana", "Cherry");
List<Integer> intList = List.of(1, 2, 3);
printList(stringList);
printList(intList);
}
}
💡 제네릭에서 자주 쓰는 기호
기호 | 의미 |
---|---|
<T> |
Type (타입) |
<E> |
Element (요소) |
<K> |
Key (키) |
<V> |
Value (값) |
<?> |
와일드카드 (모든 타입 가능) |
🧠 기억하세요!
- 컴파일 시점에 타입 체크로 안전한 코드 작성 가능!
- 다양한 타입을 처리하면서도 중복 코드 제거 가능!
- 와일드카드로 타입의 범위를 유연하게 설정!
✨ 마무리하며...
제네릭은 처음엔 어렵게 느껴질 수 있지만, 익숙해지면 정말 유용한 도구예요. 😊
천천히 연습하다 보면 어느새 "제네릭 고수"가 되어 있을 거예요.
궁금한 점은 언제든 댓글로 물어봐 주세요! 힘내세요! 💪
반응형
SMALL
'JAVA' 카테고리의 다른 글
Java 스트림(Stream)과 람다(Lambda) 완벽 가이드: 초보자를 위한 쉬운 설명과 활용법 (0) | 2024.12.20 |
---|---|
Java 메서드 오버로딩과 오버라이딩: 초보자를 위한 쉬운 설명과 예제 (0) | 2024.12.19 |
메모리 관리의 핵심! Java Garbage Collection 쉽게 이해하기 (0) | 2024.12.19 |
Java 객체지향 원칙 완벽 가이드: 캡슐화, 상속, 다형성, 추상화 쉽게 배우기 (0) | 2024.12.19 |
Java 제어문 초보자 가이드: if, switch, for, while 쉽게 배우기 (0) | 2024.12.18 |