Dev 언어 정리 & Self QnA/Java
한 클래스는 한가지 인터페이스만 구현할까?
Mon Groy
2024. 4. 24. 18:00
답부터 말하자면
'아니다'
LinkedList 클래스는 Java에서 두 가지 인터페이스인 Queue와 List를 모두 구현했다
Java에서는 인터페이스의 다중 구현이 가능하기 때문이다
LinkedList 클래스는 Qeue의 선입선출(FIFO) 동작을 지원하는 Queue 인터페이스를 구현하면서도
데이터의 순서를 유지하는 List의 특성을 가지고 있다
따라서 LinkedList는 Queue와 List의 모든 동작을 수행하며
Queue와 List의 모든 메서드를 구현한다
이러한 다중 구현은 유연성을 제공하며
상황에 따라 LinkedList를 Queue 또는 List의 생성자로 사용될 수 있다
< 인터페이스를 다중으로 구현한 클래스들>
ArrayList
List와 RandomAccess 인터페이스
List는 순서가 있는 데이터의 집합을 나타내며
RandomAccess는 빠른 임의 접근을 제공하는 마커 인터페이스이다
HashMap
Map과 Serializable 인터페이스
Map은 키-값 쌍의 집합을 나타내며
Serializable은 클래스에 직렬화 기능을 준다
더보기
직렬화된 객체는 바이트 스트림으로 변환되어 파일에 쓰거나 네트워크로 전송될 수 있다
반대로, 직렬화된 객체는 역직렬화(Deserialization) 과정을 통해 다시 객체로 변환될 수 있다
HashSet
Set과 Serializable 인터페이스
Set은 순서가 없는 고유한 요소의 집합을 나타내며
Serializable은 클래스에 직렬화 기능을 준다