Pink Spider/Object[] 와 ArrayList<Object> 의 차이

Created Wed, 21 May 2025 19:20:45 +0900 Modified Mon, 08 Dec 2025 08:41:47 +0900
399 Words 2 min

Object[] 와 ArrayList 의 차이

에를 들어 Partner라는 클래스가 있을 때 Partner[] p = new ArrayList와 같은 코드는 컴파일 에러가 발생합니다. 이유는 ArrayList는 Java의 컬렉션(List) 타입이고, Partner[]배열 타입이기 때문에 서로 호환되지 않는 타입입니다.


🔍 정확한 차이점

  • Partner[] → 고정된 크기의 배열
  • ArrayList<Partner> → 가변 크기의 리스트 (배열 기반의 컬렉션)

✅ 올바른 사용법

1. ArrayList를 사용하고 싶을 때

List<Partner> p = new ArrayList<>();
p.add(new Partner("name1"));
p.add(new Partner("name2"));
  • 리스트로 선언하고 사용하는 것이 맞습니다.
  • 이 방법이 대부분의 경우 더 유연하고 편리합니다.

2. ArrayListPartner[]로 변환이 필요한 경우

List<Partner> pList = new ArrayList<>();
pList.add(new Partner("a"));
pList.add(new Partner("b"));

Partner[] pArray = pList.toArray(new Partner[0]); // 배열로 변환

⚠️ 잘못된 예시

Partner[] p = new ArrayList<>(); // ❌ 컴파일 에러: incompatible types

✅ 요약

목적 코드
ArrayList 선언 List<Partner> p = new ArrayList<>();
리스트 → 배열 변환 Partner[] pArray = pList.toArray(new Partner[0]);

배열보다 ArrayList를 사용하는 것이 일반적으로 더 안전하고 유연합니다. 다만 배열이 필요한 API와 호환하거나 성능상 이점이 필요한 경우 배열 변환을 사용하세요.