<aside> <img src="https://prod-files-secure.s3.us-west-2.amazonaws.com/83c75a39-3aba-4ba4-a792-7aefe4b07895/94dbaed9-349c-449d-bc43-25de3ae5a780/SpartaIconScale9.png" alt="https://prod-files-secure.s3.us-west-2.amazonaws.com/83c75a39-3aba-4ba4-a792-7aefe4b07895/94dbaed9-349c-449d-bc43-25de3ae5a780/SpartaIconScale9.png" width="40px" /> 수업 목표
<aside> <img src="https://prod-files-secure.s3.us-west-2.amazonaws.com/83c75a39-3aba-4ba4-a792-7aefe4b07895/393cd135-1603-4797-8fa6-42abcfedd782/SpartaIconS24.png" alt="https://prod-files-secure.s3.us-west-2.amazonaws.com/83c75a39-3aba-4ba4-a792-7aefe4b07895/393cd135-1603-4797-8fa6-42abcfedd782/SpartaIconS24.png" width="40px" />
목차
</aside>
<aside> <img src="https://prod-files-secure.s3.us-west-2.amazonaws.com/83c75a39-3aba-4ba4-a792-7aefe4b07895/11965e36-5cde-4d10-b470-06dfbe247327/scc캐릭터_아하_280x280.png" alt="https://prod-files-secure.s3.us-west-2.amazonaws.com/83c75a39-3aba-4ba4-a792-7aefe4b07895/11965e36-5cde-4d10-b470-06dfbe247327/scc캐릭터_아하_280x280.png" width="40px" /> 필수 프로그램 설치
프로그램 설치가이드를 따라 천천히 설치를 진행해주세요.
✅ OpenJDK 8버전 이상
✅ IntelliJ (Community)
✅ Google Chrome
</aside>
<T> 타입매개변수를 사용해 다양한 데이터 타입을 안전하게 처리할 수 있는 구조<aside> 📚
제네릭이 무엇인지 학습해 봅시다.
<T>**타입 매개변수**를 의미합니다.코드 재사용성과 타입 안정성을 보장받을 수 있습니다.<aside> 1️⃣
코드 재사용성
<aside> 2️⃣
타입 안정성
</aside>
<aside> 📚
Box 클래스를 예시로 아래의 두 케이스를 살펴봅시다.
<aside> 1️⃣
제네릭이 없는 경우 재사용 불가
</aside>
<aside> 2️⃣
제네릭이 없는 경우 타입 안정성 보장 불가
</aside>
</aside>
<aside> ⚠️
Box 클래스 - 재사용 불가Integer)으로 고정 되어 있어 재사용이 어렵습니다.
String 타입 전용 박스가 필요하다면 다시 만들어야 합니다.public class Box {
private Integer item; // ⚠️ Integer 타입으로 고정
public Box(Integer item) { // ⚠️ Integer 타입으로 고정
this.item = item;
}
public Integer getItem() {
return this.item;
}
}
public class Main {
public static void main(String[] args) {
// ✅ Integer 타입 박스
Box box1 = new Box(100);
// ❌ String 타입을 저장하려면 새로운 클래스를 만들어야 함
Box box2 = new Box("ABC");
}
}
</aside>