interface

    Collection 과 Map (왜 Map 은 Collection 을 extends 하지 않을까?)

    Collection Interface 다양한 자료구조들의 부모(?) 이며 iterable 하다 (순회할 수 있다, Iterable 인터페이스를 extends 했다). 그리고 하나의 값만 추가할 수 있다. 여기 Collection interface 를 extends 한 자료구조들 그림에서 알 수 있듯이, Collection (Interface) 는 Iterable (Interface) 를 extends 하고 있다. 그리고 List, Queue, Set (Interface) 들은 Collection (Interface) 를 extends 하고 있다. 그리고 각각의 구현 클래스 들은 Set, List, Deque 등을 implements 하고 있다. List - ArrayList, LinkedList, Vec..

    추상 클래스(abstract class) 와 인터페이스(interface) / 확장 / 예시 / 용도의 차이

    추상 클래스와 인터페이스 abstract class 와 interface class 는 둘 다 유사 개념에 대해 공통 코드를 만들 수 있고, 인스턴스를 바로 만들 수 없는 설계도 라는 공통점을 갖고 있다. 그렇다면 어떤 차이점을 갖고 있을까? 추상 클래스 abstract class (추상 클래스) 는 상속 (extends) 을 통해 구현될 수 있는 클래스 이다. 상속은 단일 상속 만 가능하다. 추상클래스는 IS-A 관계로 '무엇' 을 의미한다. 즉 무엇인가 가 어떤 특성(멤버 변수) 과 행동(메서드) 을 가지는 것을 정의할 수 있다. 따라서 멤버변수와 메서드를 구현할 수 있다. 추상 클래스의 확장 따라서 추상 클래스의 확장은, 특성이나 행동이 확장되는 것을 의미한다. abstract class Anima..