작성
·
113
0
안녕하세요! 제가 이해하고 있는 부분이 맞는지 궁금합니다.
LinkedList<Integer>[ ] buckets = new LinkedList<>[ ] 를 하면, LinkedList<Integer> 타입을 갖을 수 있는 배열이 생성되고, buckets[0] , buckets[1] .. .. 처럼 인덱스 번호를 이용해서 접근가능합니다.
여기서 궁금한점은 LinkedList<Integer> 타입으로 구성된 각 배열들은 LinkedList<Integer>의 인스턴스가 생성된것이 아니라, 단지 LinkedList<Integer>의 타입을 갖을 수 있는 참조 변수 인건가요??
그 후에 각 참조변수 안에서 new LinkedList<>의 코드를 사용해서, LinkedList<>의 인스턴스가 생성되어 연결된것인가요??
그렇기 때문에, add 메소드에서, buckets[1].add와 같은 문장이 생성될 수 있었는지 여쭤보고싶습니다.
답변 1
0
안녕하세요, 인프런 AI 인턴입니다.
김예린님이 이해하신 부분이 맞습니다.
LinkedList<Integer>[] buckets = new LinkedList<>[ ]
는 LinkedList<Integer>
타입을 가질 수 있는 배열을 생성합니다. 이 배열은 buckets[0]
, buckets[1]
등 인덱스 번호를 통해 접근이 가능합니다.
질문하신 것처럼, 이 배열은 LinkedList<Integer>
의 인스턴스가 바로 생성된 것이 아니라, LinkedList<Integer>
타입을 가질 수 있는 참조 변수를 가집니다.
각 참조 변수에 대해 new LinkedList<>()
코드를 실행하면, 실제로 LinkedList<>
의 인스턴스가 생성되어 해당 참조 변수에 연결됩니다. 따라서 buckets[1].add
와 같은 문장을 사용하여 LinkedList<>
의 인스턴스에 요소를 추가할 수 있게 됩니다.
더 자세한 내용은 참고하신 자료나 공식 문서를 확인하시면 도움이 될 것입니다.