고급 JAVA
-
Framework (프레임워크)란?고급 JAVA 2020. 3. 21. 22:25
Framework (프레임워크)란? 사전적 의미로는 '복잡한 문제를 해결하거나 서술하는데 사용되는 기본 개념 구조'라고 정의 정의에 따르면 '특정한 목적으로 사용되는 사용체계' 라는 뜻으로 소프트웨어 개발에 해당하는 것은 공통으로 사용하는 라이브러리, 공통으로 사용하는 개발도구, 공통으로 사용하는 인터페이스 등이 있다. 프레임 워크가 중요한 이유는 객체 지향 개발을 하게 되면서 개발자의 취향에 따라 다양한 프로그램이 나오게 되었는데 프로그램 개발에 투입되는 개발자도 점점 늘어남에 따라 전체 시스템의 통합성, 일광선이 부족하게 되었기 때문 그래서 개발자의 자유를 제한하기 위해 프레임 워크를 도입하게 되었다. - 전체 시스템의 통합성, 일관성을 유지하기 위해 개발자의 자유를 제한 * 개발에 대한 방법론을 강..
-
Generics (제네릭스)고급 JAVA/Generics 2020. 3. 21. 21:13
Generics (제네릭스) 해당 클래스나 메소드가 다룰 객체를 미리 명시해줌으로써 형변환을 하지 않고 사용하는 것 사용하는 이유 - 타입의 안정성 제공 - 타입체크와 형변환을 생략 - 클래스와 인터페이스, 메소드를 정의할 때 타입(Type)을 파라미터(Parameter)로 사용할 수 있도록 함 장점 1. 컴파일 시 강한 타입 체크를 할 수 있다. - 실행 시 타입 에러가 나는 것보다 컴파일 시에 미리 타입을 강하게 체크해서 에러를 사전에 방지 2. 타입 변환(Castring)을 제거 - 비제네릭 코드는 불필요하게 타입 변환을 하기 때문에 프로그램 성능에 악양향을 미침 List list = new ArrayList(); list.add("hello") String str = (String) list.ge..
-
Collection Interface(컬렉션 인터페이스) 그룹의 클래스고급 JAVA/Collection Framework 2020. 3. 21. 20:19
Collection Interface(컬렉션 인터페이스) 그룹의 클래스 1. ArrayList 클래스 2. LinkedList 클래스 3. HashSet 클래스 4. TreeSet 클래스 5. PriortiyQueue 클래스 6. ArrayDeque 클래스 1. ArrayList 클래스 - resizable(조정가능한)-array 이면서 비동기 방식 * 만약 동기화가 필요한 때는 Collections.syschronizeaList() 메서드를 통해 동기화가 보장되는 List를 반환받아 사용한다. - ArrayLiST 클래스와 유사한 Vector 클래스는 resizable-array이고 동기화를 보장 - ArrayList 클래스는 내부적으로 배열을 이용하여 요소를 저장 2. LinkedList 클래스 - ..
-
Collection Class (컬렉션 클래스)고급 JAVA/Collection Framework 2020. 3. 21. 19:49
Collection Class (컬렉션 클래스) - 컬렉션 프레임워크는 컬렉션 인터페이스에 대한 구현 클래스를 제공 - 컬렉션 클래스의 종류 1. 일반적으로 쓰이는 클래스 1-1. ArrayList 1-2. LinkedList 1-3. HashSet 1-4. TreeSet 1-5. PriorityQueue 1-6. ArrayDeque 1-7. HashMap 1-8. TreeMap 1-9. LinkedHashMap 2. Concurrent 클래스 2-1. CopyOnWriteArrayList 2-2. ConcurrentHashMap 2-3. CopyOnWriteArraySet 3. Lagacy 클래스 3-1. Vector 3-2. Stack 3-3. Hashtable 3-4. Properties 4. Ab..
-
기타 인터페이스 그룹고급 JAVA/Collection Framework 2020. 3. 21. 19:43
기타 인터페이스 그룹 1. Iterator 인터페이스 2. ListIterator 인터페이스 3. Concurrent 인터페이스 그룹 1. Iterator 인터페이스 - 어떤 컬렉션이든 반복적으로 수행하기 위한 메서드를 제공 - 컬렉션 프레임 워크에서는 eunmeration 대신 Iterator를 사용 컬렉션 클래스는 Iterator는 Iterator 디자인 패턴을 구현 - iterator 메서드를 통해 컬렉션으로 부터 iterator instance 를 가져올 수 있고 컬렉션을 순회하는 도중 엘리먼트들을 삭제할 수 있다. 2. ListIterator 인터페이스 - 어느 방향이든 목록을 탐색하고 반복하면서 목록을 수정 - 목록에서 반복자의 현재 위치를 가져올 수 있다. - ListIterator에는 현재..
-
Map Interface(맵 인터페이스) 그룹고급 JAVA/Collection Framework 2020. 3. 21. 19:30
Map Interface(맵 인터페이스) 그룹 1. Map 인터페이스 2. SortedMap 인터페이스 1. Map 인터페이스 - 키와 값을 매핑 - 중복 키가 존재할 수 없다. Map의 기본 연산 종류 1-1. put 1-2. get 1-3. containsKey 1-4. containsValue 1-5. size 1-6. isEmpty Map 인터페이스로 구현된 클래스 - HashMap - TreeMap - LinkedHashMap 2. SortedMap - 매핑을 오름차순의 키 순서로 유지 SortedMap 인터페이스로 구현된 크래스는 TreeMap
-
Collection interface(컬렉션 인터페이스) 그룹고급 JAVA/Collection Framework 2020. 3. 21. 19:20
Collection interface(컬렉션 인터페이스) 그룹 1. Collection 인터페이스 2. List 인터페이스 3. Set 인터페이스 4. SortedSet인터페이스 5. Queue 인터페이스 6. Deque 인터페이스 1. Collection 인터페이스 직접적인 구현은 제공하지 않으며, 모든 컬레션 클래스가 구현해야 하는 메서드들을 포함하고 있다. 대표적 메서드 1-1. boolean add(E e) : 해당 컬레션에 전달된 요소를 추가 1-2. boolean remove(Object o) : 해당 컬렉션에서 전달된 요소를 제거 1-3. void clear() : 해당 컬렉션의 모든 요소를 제거 1-4. boolean contains(Object o) : 해당 컬렉션이 전달된 객체를 포함하..