반응형

인터페이스 7

[Java] 자바 큐(Queue) 인터페이스 정리

FIFO (First In First Out) 큐(Queue)는 먼저 넣은 객체가 먼저 빠져나가는 선입선출(FIFO : First In First Out) 자료구조이다. 자바의 컬렉션 프레임워크에는 후입선출(LIFO : Last In First Out) 자료구조를 제공하는 스택(Stack) 클래스와 FIFO 자료구조를 제공하는 큐(Queue) 인터페이스를 제공하고 있다. 큐(Queue)를 응용한 대표적인 예시로 BFS(너비 우선 탐색) 알고리즘과 스레드풀(ExceutorService)의 작업 큐이다. 작업 큐는 먼저 들어온 작업부터 처리하는 구조로 되어있다. 큐 (Queue) Queue 인터페이스는 FIFO 자료구조에서 사용되는 메서드를 정의하고 있다. 이를 구현한 대표적인 클래스는 LinkedList이..

[Java] 자바 Map<K, V> 인터페이스 개념 정리

Map Map 인터페이스는 키(Key)와 값(Value)으로 구성된 객체를 저장하는 구조이다. 키와 값으로 구성된 객체를 Entry 객체라고 한다. 즉, Map 인터페이스는 Entry 객체를 저장하는 구조이며, Entry 객체는 Key 객체와 Value 객체로 저장한다. Map을 사용할 때에 주의할 점은, 키(Key)는 중복 저장이 불가능하며, 값(Value)은 중복 저장이 가능하다. 또한 저장 순서도 유지되지 않는다. 키는 값을 식별하는 용도로 사용되기 때문이다. Map 인터페이스를 구현한 클래스는 HashMap, Hashtable, TreeMap, SortedMap 등이 있다. 다음은 Map 인터페이스를 구현한 클래스에서 공통적으로 사용 가능한 메서드이다. put(Object key, Object v..

[Java] 자바 Set<E> 컬렉션 인터페이스 정리

Set Set는 집합을 의미한다. 즉, 중복된 값을 허용하지 않는다. 따라서 자바 컬렉션에서의 Set은 중복된 값을 허용하지 않는 데이터들의 집합을 뜻한다. Set은 요소의 중복을 허용하지 않으며, 순서 또한 유지하지 않는 컬렉션이다. Set을 구현한 클래스는 대표적으로 HashSet과 TreeSet이 있다. Set 인터페이스 메서드 Set 인터페이스에 정의된 메서드들은 다음과 같다. add(Object o) 주어진 객체를 추가하고, 성공하면 true를, 중복 객체면 false를 반환한다. contains(Object o) 주어진 객체가 Set에 존재하는지 확인한다. isEmpty() Set이 비어있는지 확인한다. iterator() 저장된 객체를 하나씩 읽어오는 Iterator를 반환한다. size()..

[Java] 자바 컬렉션 프레임워크 개념 정리 (Collection Framework)

컬렉션 프레임워크란? (Collection Framework) 자바에서는 데이터를 저장하기 위해 다양한 자료 구조를 바탕으로 객체들을 효율적으로 추가, 삭제, 검색할 수 있도록 컬렉션을 만들고, 관련된 인터페이스와 클래스를 포함하여 제공한다. 이를 컬렉션 프레임워크라고 한다. 컬렉션 프레임워크가 제공하는 다양한 인터페이스와 구현 클래스를 활용하면, 보다 객체 지향적이고 재사용성 높은 코드를 작성할 수 있다. 컬렉션은 여러 데이터들의 집합을 의미한다. 즉, 여러 데이터들을 그룹으로 묶어놓은 것을 컬렉션이라 하며, 컬렉션을 다루는 데 있어 편리한 메서드들을 미리 정의해 놓은 것을 컬렉션 프레임워크라 한다. 컬렉션 프레임워크는 특정 자료 구조에 데이터를 추가, 삭제, 수정, 검색 등의 동작을 수행할 수 있는 ..

[Java] 자바 인터페이스 활용 예제

Intro 인터페이스를 왜 사용하고, 이것이 가지는 장점이 무엇인지 예제를 통해 알아보도록 한다. 예상 시나리오 1. 식당를 운영하는 사람이 있다. 2. 단골손님들은 매일 먹는 음식이 정해져 있다. 3. 단골손님 A는 항상 김치찌개를 주문한다. 4. 단골손님 B는 항상 제육볶음을 주문한다. 인터페이스를 활용하지 않는 경우 // 식당 손님 class ResCustomer { public String resCustomer; public void setResCustomer(String resCustomer) { this.resCustomer = resCustomer; } } // ResCustomer 클래스로부터 단골손님 A와 B 상속 class ResCustomerA extends ResCustomer { ..

[Java] 자바 인터페이스(Interface) 개념 정리 및 활용

인터페이스 (Interface) 프로그래밍에서의 인터페이스는 서로 다른 두 시스템, 장치, 소프트웨어를 서로 이어주는 부분 또는 접속 장치로 정의할 수 있다. 컴퓨터의 내용을 그래픽 형태로 이미지화하여 사용자와 소통할 수 있도록 연결하는 GUI(Graphic User Interface)가 인터페이스의 대표적인 예시이다. 자바의 인터페이스 또한 유사한 기능을 가지고 있으며, 추상 클래스와 함께 자바에서 추상화를 구현하는 핵심적인 역할을 담당한다. 추상 클래스에 비해 더 높은 단계의 추상성을 가지는 것이 바로 인터페이스다. 추상 클래스는 메서드 바디가 없는 추상 메서드를 하나 이상 포함하는 점 외에는 일반 클래스와 동일하다. 하지만, 인터페이스는 기본적으로 추상 메서드와 상수(static 변수)만을 멤버로 ..

API란 무엇인가? (about API)

1. API의 등장 프로그램을 개발하기 위해서는 많은 인력과 데이터를 요구하며 체계적이고 간결함을 요구하고 있습니다. 그렇기 때문에 기업에서 다양한 분야의 프로그램을 개발하기 위해서는 많은 비용과 시간이 들게 되는데, 이를 줄이기 위한 연구와 노력을 끊임없이 연구해 왔습니다. 이러한 결과물들 중 하나인 것이 바로 API인데요. API란 무엇일까요? 먼저, API는 개인 컴퓨터(Personal Computer)가 등장하기 훨씬 전인 컴퓨터 개발 초기 때부터 존재하고 있었습니다. 당시에는 대개 운영체제의 라이브러리를 구축하기 위해 사용되었으며, 메인 프레임 간의 메시지를 전달하는 경우도 있었지만, 항상 로컬 시스템에서 작동했습니다. 그로부터 약 30여 년이 지난 후에야 API는 로컬 환경에서 분리될 수 있었..

반응형