Loading...

Chapter 1. 자바 interface

자바 interFace는 메서드 집합을 의미한다. 이 interface를 구현하는 클래스는 이러한 메서드를 제공해야 한다. 예를 들어 java.lang 패키지에 정의된 Comparable interface의 소스 코드는 다음과 같다. ----------------------------------------------------------------------------------------------------------------------------public interface Comparable {public int compareTo(T o);}---------------------------------------------------------------------------------------..

Chapter 1 리스트가 두 종류인 이유

JCF를 사용하다 보면 종종 ArrayList와 LinkedList 클래스를 혼동한다. 왜 자바는 List 인터페이스에 두 가지 구현을 제공할까? 둘 중 어느 것을 선택해야 할까? 다음 몇 장에 걸쳐 이에 대한 답을 알아본다. interface와 이를 구현하는 클래스를 살펴보고 인터페이스 프로그래밍 개념에 대해 알아본다. 처음 몇 가지 예제에서 ArrayList, LinkedList와 유사한 클래스를 구현한다. 따라서 이 들의 동작방법과 각각의 장단점을 알게 된다. 어떤 동작은 ArrayList가 빠르거나 저장 공간을 적게 사용하고 다른 상황에서는 LinkedList가 빠르거나 메모리 사용량이 적다. 어느 것이 더 좋을지는 수행하는 동작에 달려 있는 것이다.

시작에 앞서...

이 포스팅은 다음 세 가지 주제를 다룬다. - 자료구조자바 컬렉션 프레임워크 구조로 시작하여 리스트, 맵과 같은 자료구조를 사용하는 방법과 이들이 어떻게 동작하는지를 알아본다. - 알고리즘 분석코드를 분석하고 이 코드가 얼마나 빨리 동작하는지와 얼마나 많은 공간(메모리0이 필요한지를 예측해본다. - 정보 검색앞의 두 주제에 동기를 부여하고 예제가 더욱 흥미롭도록 자료구조와 알고리즘을 활용하여 간단한 웹 검색 엔진을 만들어 본다. 이 세 가지 주제를 다음 흐름으로 다룬다. - List 인터페이스로 시작하여 두 가지 방식으로 이 인터페이스를 구현하는 클래스를 작성한다. 그 다음 ArrayList와 LinkedList 클래스로 작업한 구현을 서로 비교한다. - 트리 모양의 자료구조를 소개하고 첫 번째 응용 프..