목록✅🌲강의 복습 노트/패캠 JavaSpring 강의,코드 복습 (60)
컴퓨터공학 💻 도서관📚
함수형 프로그래밍과 람다식자바는 객체 지향 프로그래밍 : 기능을 수행하긴 위해서는 객체를 만들고 그 객체 내부에 멤버 변수를 선언하고 기능을 수행하는 메서드를 구현자바 8부터 함수형 프로그래밍 방식을 지원하고 이를 람다식이라 함함수의 구현과 호출만으로 프로그래밍이 수행되는 방식함수형 프로그래밍(Functional Programming: FP)함수를 기반으로 하는 프로그래밍이고 입력받는 자료 이외에 외부 자료를 사용하지 않아 여려 자료가 동시에 수행되는 병렬처리가 가능합니다. 함수형 프로그래밍은 함수의 기능이 자료에 독립적임을 보장합니다. 이는 동일한 자료에 대해 동일한 결과를 보장하고, 다양한 자료에 대해 같은 기능을 수행할 수 있습니다.함수형 프로그래밍은 순수함수(pure function)를 구현하고 ..

내부 클래스란? (inner class)클래스 내부에 선언한 클래스로 이 클래스를 감싸고 있는 외부 클래스와 밀접한 연관이 있는 경우가 많고,다른 외부 클래스에서 사용할 일이 거의 없는 경우에 내부 클래스로 선언해서 사용함중첩 클래스라고도 함클래스 내부에 클래스를 언제 선언하느냐 --> 클래스 내부에서만 쓰려고 선언을 하는 거 , 외부에서는 쓸 일 X지금 많이 사용하는 거는 '익명 내부 클래스'이다.내부 클래스의 종류1. 인스턴스 내부 클래스, 2. 정적(static) 내부 클래스, 3. 지역(local) 내부 클래스, 4. 익명(anonymous) 내부 클래스인스턴스 내부 클래스내부적으로 사용할 클래스를 선언 (private으로 선언하는 것을 권장)외부 클래스가 생성된 후 생성됨 ( 정적 내부 클..
HashMap 클래스 활용하기Map 인터페이스를 구현한 클래스가장 많이 사용되는 Map 인터페이스 기반 클래스key - value를 쌍으로 관리하는 메서드를 구현함검색을 위한 자료구조key를 이용하여 값을 저정하고 key를 이용하여 값을 꺼내오는 방식 -- hash 알고리즘으로 구현 됨key가 되는 객체는 중복될 수 없고 객체의 유일성 비교를 위한 equals()와 hashCode() 메서드를 구현해야 함put( K key, V value ) ( 반환형 : V )get( Object key ) ( 반환형 : V )remove( Object key ) ( 반환형 : V )keySet() : 모든 key를 다 꺼내는 메서드( 반환형 : Set ) values() : 모든 value를 다 ..
TreeSet 클래스 활용하기객체의 정렬에 사용하는 클래스Set 인터페이스를 구현하여 중복을 허용하지 않고, 오름차순이나 내림차순으로 객체를 정렬할 수 있음내부적으로 이진검색트리(binary search tree)로 구현됨이진검색트리에 저장하기 위해 각 객체를 비교해야 함비교 대상이 되는 객체에 Comparable이나 Comparator 인터페이스를 구현 해야 TreeSet에 추가 될 수 있음String, Integer등 JDK의 많은 클래스들이 이미 Comparable이 구현되어 있음Comparable은 java-lang 패키지 안에 있고 , Comparator은 java-util 패키지 안에 있다. String 클래스는 이미 Comprable 인터페이스를 구현했기 때문에 문자열이 오름차순으로 ..

Set 인터페이스를 활용해보자 HashSet 클래스 (Hash: 딕션너리 , Set: 집합) * Set 인터페이스를 구현한 클래스 (집합, 튜플) * 객체(멤버)의 중복 여부를 체크하기 위해 인스턴스의 동일성을 확인해야 함 (집합이니까 중복 x 여서 중복 여부를 체크해야 함) * 동일성 구현을 위해 필요에 따라 equals()와 hashCode()메서드를 재정의함 * HashSet에 데이터가 add될 때 안에서 add되는 객체에 대해 equals() 메서드와 hashCode() 메서드를 체크한다. 그래서 이전에 있던 것과 동일하면 add를 하지 않는다. equals 메서드 : 두 인스턴스의 주소를 비교하는 메서드 hashCode 메서드 : 인스..
Iterator : Collection 요소를 순회하는 친구 컬렉션에서 상속받은, 컬렉션을 구현한 모든 클래스에서 Iterator 함수를 호출하면 Iterator 객체가 반환이 된다Iterator 가 가지고 있는 메서드가 몇 개 안 되는데 그 중에서 우리가 주로 많이 쓰는 건 hasNext() 와 Next() 이다.JDK Document를 보면은 ArrayList의 메서드에 Iterator 메서드가 있다.Iterator 메서드는 모든 컬렉션에 적용이 된다.Iterator를 부르면 Iterator라는 객체를 반환해 주는데 그걸 이용해서 순회를 할 수 있다. 요소의 순회란?컬렉션 프레임워크에 저장된 요소들을 하나씩 차례로 참조하는것순서가 있는 List인터페이스의 경우는 Iterator를 ..
List 인터페이스를 활용해보자 JDK 클래스들을 볼 때 Document 를 보면서 각 클래스, 메서드의 반환형, 매개변수, 기능들이 어떻게 되어 있는지 봐야한다. Document에서 ArrayList 의 메서드들을 볼 수 있는데 각 메서드들은 컬렉션 쪽에서 선언된 메서드들도 있고 리스트 쪽에서 선언된 메서드들고 있다. 처음에 ArrayList가 만들어질 때 특별히 내가 몇 개라고 지정을 안 하면 10개짜리 object Array 를 만들어준다size : 현재 채워져 있는 크기 , capacity : 전체 크기 코딩할 때 배열 전체 크기가 10개이고 10개를 다 쓰고 있는데 모르고 또 추가할 수 있다그래서 항상 add하기 전에 ensureCapacity() 메서드가 체크가 돼..

Collection 프레임워크 안에 있는 HashSet은 클래스이고 Set은 인터페이스이고 Collection도 인터페이스이다. Collection 프레임워크 : 자료구조를 다루기 위한 인터페이스 + 구현 클래스 + 유틸리티(도움) 클래스를 모두 포함하는 큰 구조, 틀이다. 유틸리티(도움) 클래스 : 인스턴스를 만들지 않고 사용하는 정적(static) 메서드들로 구성된 클래스 특정 기능을 편리하게 제공하기 위한 도우미 역할을 한다 Collections 는 유틸리티 클래스이고 Collection 은 인터페이스이다. 컬렉션 프레임워크프로그램 구현에 필요한 자료구조(Data Structure)를 구현해 놓은 JDK 라이브러리java.util..