Open kjy0349 opened 4 months ago
Array는 미리 Memory 공간을 확보해야하는 반면 ArrayList와 같은 Collection 객체는 메모리를 동적으로 관리할 수 있기 때문입니다. 또한 Collection에 속한 자료구조들을 잘 활용한다면 Array보다 더 빠른 시간복잡도로 삽입, 삭제 연산을 실행할 수 있는 이점도 존재합니다.
1. 자바 제네릭에 대해서 설명해주세요.
Java Generic 타입은 객체에 대한 타입 매개변수입니다. 즉, Generic은 객체가 어떤 타입의 객체인지를 설명해주는 역할을 수행합니다. 예를 들어 Apple이라는 객체 클래스가 존재하고 해당 리스트를 관리하려한다면 우리는 ArrayList
제네릭을 통한 타입체크가 가능하기 때문에 컴파일 타임에 에러를 잡을 수 있기 때문에 사용합니다.
- 제네릭이란 클래스, 인터페이스, 메서드를 정의할 때 사용할 데이터 타입을 미리 명시하지 않고, 나중에 사용할 때 구체적인 타입을 지정할 수 있도록 하는 기능입니다. 코드의 재사용성과 타입 안정성을 올릴 수 있는 장점이 있습니다. - Array나 ArrayList의 경우 메모리에 저장될때 물리적으로 연속된 공간에 저장하게 됩니다. index를 기반으로하는 접근이 용이하여 조회등의 성능이 올라가지만, 삽입 삭제의 경우 최악의 시간으로는 O(n)의 시간이 걸리게 됩니다.
문제
Array대신 ArrayList와 같은 Collection 객체를 쓰는 이유는 무엇인가요?
예상 꼬리 질문
들어가야 할 키워드 정리