람다식(Lambda expression)
개발/Java
/ 2021. 5. 5.
함수형 프로그래밍과 람다식 java는 객체 지향 프로그래밍 기능을 수행하기 위해서는 객체를 만들고 그 객체 내부에 멤버 변수를 선언하고 기능을 수행하는 메서드를 구현 java 8부터 함수형 프로그래밍 방식을 지원 함수형 프로그래밍 → 람다식 함수의 구현과 호출만으로 프로그래밍이 수행되는 방식 함수형 프로그래밍(Functional Programming : FP) 특징 함수형 프로그래밍은 순수 함수(pure function)를 구현하고 호출함으로써 외부 자료에 부수적인 영향(side effect)을 주지 않도록 구현하는 방식 순수 함수란 매개 변수만을 사용하여 만드는 함수 함수를 기반으로 하는 프로그래밍이고 입력받는 자료 이외에 외부 자료를 사용하지 않아 여러 자료가 동시에 수행되는 병렬 처리가 가능 함수형..
내부 클래스(inner class)
개발/Java
/ 2021. 5. 4.
내부 클래스(inner class) 클래스 내부에 선언한 클래스 내부 클래스를 감싸고 있는 외부 클래스와 밀접한 연관 다른 외부 클래스에서 사용할 일이 거의 없는 경우에 내부 클래스로 선언해서 사용 중첩 클래스 내부 클래스의 종류 인스턴스 내부 클래스 정적(static) 내부 클래스 지역(local) 내부 클래스 익명(anonymous) 내부 클래스 1. 인스턴스 내부 클래스 내부적으로 사용할 클래스를 선언 ( 보통 private으로 선언하는 것을 권장 ) 외부 클래스가 생성된 후 생성됨( 정적 내부 클래스와 다름 ) private이 아닌 내부 클래스는 다른 외부 클래스에서 생성 가능 2. 정적 내부 클래스 외부 클래스 생성과 무관하게 사용 정적 변수, 정적 메서드 사용 정적 내부 클래스의 일반 메서드와..
Map 인터페이스 <HashMap> <TreeMap>
개발/Java
/ 2021. 5. 4.
쌍(pair)으로 자료를 관리하는 Map 인터페이스 HashMap 클래스 Map 인터페이스를 구현한 클래스와 가장 많이 사용되는 Map 인터페이스 기반 클래스 key - value를 쌍으로 관리하는 메서드를 구현 검색을 위한 자료구조 key를 이용하여 값을 지정하고 key를 이용하여 값을 꺼내오는 방식 - hash 알고리즘으로 구현 key가 되는 객체는 중복될 수없고 객체의 유일성을 비교하기 위한 equals( )와 hashCode( ) 메서드를 구현해야 함 TreeMap 클래스 Map 인터페이스를 구현한 클래스, key에 대한 정렬을 구현 key가 되는 클랫스에 Comparable이나 Comparator 인터페이스를 구현함으로써 key-value 쌍의 자료를 key 값 기준으로 정렬하여 관리
Set 인터페이스 <HashSet> , <TreeSet>
개발/Java
/ 2021. 5. 2.
중복되지 않게 자료를 관리하는 Set 인터페이스 HashSet 클래스 Set 인터페이스를 구현한 클래스와 멤버의 중복 여부를 체크하기 위해 인스턴스의 동일성 파악 동일성 구현을 위해 필요에 따라 equals( ) 메서드와 hashCode( ) 메서드 재정의 HashSet은 순서대로 나오지 않음 재정의 한 equals( )와 hashCode( ) 메서드 ... @Override public int hashCode() { return memberId; } @Override public boolean equals(Object obj) { if( obj instanceof Member){ Member member = (Member)obj; if( this.memberId == member.memberId ) r..
Iterator
개발/Java
/ 2021. 5. 2.
Collection 요소를 순회하는 Iterator 요소의 순회란? 컬렉션 프레임 워크에 저장된 요소들을 하나씩 차례로 참조 순서가 있는 List 인터페이스의 경우는 Iterator를 사용하지 않고 get(i) 메서드를 활용 가능 get(i) 메서드가 제공되지 않는 Set 인터페이스의 경우 Iterator를 활용하여 객체를 순회 Iterator method boolean hasNext( ) : 이 후에 요소가 더 있는지 체크하는 메서드, true/ false를 반환 E next( ) : 다음에 있는 요소를 반환 Iterator 사용 Iterator 변수명 = arrayList.iterator();
자료구조 클래스 - 컬렉션 프레임 워크
개발/CS
/ 2021. 5. 2.
컬렉션 프레임 워크 프로그램 구현에 필요한 자료구조(Data Structure)를 구현해 놓은 JDK 라이브러리 java.util 패키지에 구현되어 있음 개발에 소요되는 시간을 절약하면서 최적화 된 알고리즘을 사용 여러 구현 클래스와 인터페이스의 활용에 대한 이해 필요 Collection 인터페이스 하나의 객체를 관리하기 위한 메서드가 선언된 인터페이스 하위에 List 와 Set 인터페이스 있음 List 인터페이스 · 객체를 순서에 따라 저장하고 관리하는데 필요한 메서드가 선언된 인터페이스 · 자료구조 리스트(배열, 연결리스트)의 구현을 위한 인터페이스 · 중복을 허용 · ArrayList, Vector, LinkedList, Stack, Queue 등... Set 인터페이스 · 순서와 관계없이 중복을 ..