From 20510f87a3b7d7f005910cbfd0f71a9e7461b6f5 Mon Sep 17 00:00:00 2001
From: subin kim <78840035+suubinkim@users.noreply.github.com>
Date: Mon, 16 Dec 2024 05:08:38 +0000
Subject: [PATCH] docs: Update to item30
---
.../5\354\236\245/item28.md" | 107 +++++++++++
.../5\354\236\245/item29.md" | 166 ++++++++++++++++++
.../5\354\236\245/item30.md" | 50 ++++++
3 files changed, 323 insertions(+)
create mode 100644 "\352\271\200\354\210\230\353\271\210/5\354\236\245/item28.md"
create mode 100644 "\352\271\200\354\210\230\353\271\210/5\354\236\245/item29.md"
create mode 100644 "\352\271\200\354\210\230\353\271\210/5\354\236\245/item30.md"
diff --git "a/\352\271\200\354\210\230\353\271\210/5\354\236\245/item28.md" "b/\352\271\200\354\210\230\353\271\210/5\354\236\245/item28.md"
new file mode 100644
index 0000000..56da3f6
--- /dev/null
+++ "b/\352\271\200\354\210\230\353\271\210/5\354\236\245/item28.md"
@@ -0,0 +1,107 @@
+## 배열보다는 리스트를 사용하라
+
+배열 vs 제네릭타입
+1. 공변 / 불공변
+
+- 배열은 공변이다.(함께 변한다)
+
즉, Sub가 Super의 하위 타입이라면 배열 Sub[]는 배열 Super[]의 하위 타입이 된다.
+- 제네릭은 불공변이다.
+
즉 서로 다른 타입 Type1과 Type2가 있을 때, List은 List의 하위타입도 상위타입도 아니다.
+
+
+ex 1) 배열과 리스트의 차이 1
+```java
+// 배열에 넣기
+Object[] objectArray = new Long[1];
+objectArray[0] = "Long에 문자열 넣기"; // 런타임 시 ArrayStoreException 발생
+
+// 리스트에 넣기
+List