오늘은 페어와 함께 기술 면접 연습을 진행했다.
아래에 3개의 질문에 대한 답변 내용을 정리해보았다.
자바에서의 클래스는 객체를 만들기 위한 설계도입니다. 클래스에는 객체를 생성하기 위한 필드와 메소드가 정의되어 있으며, 클래스로부터 만들어진 객체를 해당 클래스의 인스턴스라고 합니다.
그리고 클래스로부터 객체를 만드는 과정을 인스턴스화라고 합니다.
객체는 모든 인스턴스를 포괄하는 넓은 의미를 갖고 있습니다. 변수와 데이터의 구조, 함수, 메서드가 될 수 있고, 식별자가 참조하는 메모리의 값도 객체입니다.
List는 순서가 있는 저장 공간입니다. List의 크기는 가변적이고 중복을 허용합니다. 또한. 인덱스로 원소에 접근이 가능합니다.
Map은 key와 value의 한 쌍으로 이루어지는 데이터의 집합입니다. 검색 속도가 빠르고 key에 대한 중복이 없으며 순서를 보장하지 않습니다. 인덱스가 존재하지 않아서 iterator를 사용합니다.
Set은 데이터의 집합을 말합니다. 순서가 없고 중복된 데이터를 허용하지 않으며 검색 속도가 빠르다는 특징이 있습니다.
🌐 List의 종류로는 LinkedList와 ArrayList가 있습니다.
🌐 Map의 종류로는 HashMap과 HashTable, LinkedHashMap, TreeMap이 있습니다.
🌐 Set의 종류로는 HashSet, LinkedHashSet, TreeSet이 있습니다.
우선, 이너 클래스란 하나의 클래스 내부에 선언된 또 다른 클래스를 말합니다.
이너 클래스를 사용하면 외부 클래스의 멤버에 쉽게 접근이 가능합니다.
서로 관련 있는 클래스들을 묶어서 표현하기 때문에 코드의 캡슐화를 증가시킵니다.
또한, 외부에서 이너 클래스에 접근할 수 없어 코드의 복잡성을 줄일 수 있습니다.
이너 클래스의 종류는 정적 클래스, 인스턴스 클래스, 지역 클래스, 익명 클래스가 있습니다.