전체 글 375

18.02_스트림_22.09.15

학습 키워드 스트림 스트림의 활용 스트림의 주요 메서드 스트림, Stream >의미 : 데이터 소스를 가공하여 결과값을 도출하는 흐름 : 데이터 소스의 요소를 하나씩 참조해서 람다식으로 처리할 수 있도록 해주는 반복자 >특징 1. 선언형 프로그래밍을 할 수 있다. : 프로그램이 '어떤 방법으로 해야 하는지'보다는 '무엇을 수행하는지'를 설명하는 프로그래밍 : 즉, 문제 처리의 과정인 알고리즘을 보여주는 것이 아니라, 프로그램의 목표를 알려주는 프로그래밍 2. 요소 처리 코드를 람다식으로 표현할 수 있다. 3. 중간 연산과 최종 연산을 수행한다. : 지연된 연산; 최종 연산이 실행될 때 까지 연산이 지연된다. : 중간 연산의 반환값은 Stream이고, 최종 연산의 반환값은 Stream이 아닌 자료형의 값이..

18.01_람다_22.09.15

학습 키워드 람다식 함수형 인터페이스 람다식 변환(메서드 참조 방식) 람다, Lambda >의미 및 특징 : 메서드를 하나의 식으로 표현하기 위한 자바의 문법요소 : 함수형 인터페이스를 간소하게 구현하기 위한 문법요소이다. : 람다식 사실 이름 없는 익명 객체이다. : 람다식이 객체이기 때문에 람다식을 인자로 전달하거나, 같은 참조변수에 다른 람다식을 새로 구현하는 등 객체의 특성을 지닌다. //람다식 : 람다로 표현된 문장을 지칭하는 용어. >함수형 인터페이스 : 딱 하나의 추상 메서드가 존재하는 인터페이스 : 람다로 구현가능한 인터페이스 //참고 //추상 메서드가 하나만 있다면 다른게 무엇이 있어도 함수형 인터페이스이다. //다른게 있어도 람다로 구현할 것은 오직 추상 메서드 하나 뿐... >익명 클..

16.10_컬렉션 프레임워크[Map]_22.09.13

Map >의미 및 특징 : Key 객체와 Value 객체로 구성된 객체(Entry 객체)를 저장하는 자료 구조 //Entry 객체 = Key 객체 + Value 객체 //Key와 Value는 기본 타입일 수 없다. : Key 객체는 고유한 값을 가지며, 중복 저장이 불가능하다. : Key 객체는 Entry 객체를 구분하는 기준이다. : Key 값으로 객체를 관리하기 때문에 메서드에 Key를 매개 값으로 하는 것이 많다. : 동일한 Key 값에 다른 Value를 저장하면, 해당 Key에 새로운 Value 값이 저장된다. : Map 인터페이스를 구현한 클래스로는 HashMap, Hashtable, TreeMap, SortedMap 등이 있다. HashMap >문법 구조 HashMap 참조 변수명 = new ..

16.09_컬렉션 프레임워크[Set<E>]_22.09.13

Set >의미 및 특징 : 집합을 의미함 : 요소의 중복을 허용하지 않고, 저장 순서를 유지하지 않는 인터페이스 : HashSet, TreeSet HashSet >HashSet의 문법 구조 HashSet 참조변수명= new HashSet(); //1 HashSet 참조변수명= new HashSet(int initialCapacity); //2 HashSet 참조변수명= new HashSet(int intitialCapacity, float loadFactor); //3 HashSet 참조변수명= new HashSet(Collection c); //4 //1: 기본 생성자 //2: 초기 용량을 지정하여 생성 //3: 초기 용량과 loadFactor를 지정하여 생성 //4: 컬렉션을 HashSet으로 변환 ..

16.08_컬렉션 프레임워크[List<E>]_22.09.13

List >의미 : Collection를 상속받는 인터페이스 : 객체용 배열같은 기능 : 배열처럼 객체를 일렬로 늘어놓은 구조를 취함. : 저장된 객체에 자동으로 인덱스가 부여되며, 해당 인덱스로 컬렉션을 검색, 추가, 삭제 등을 할 수 있음. >List 인터페이스를 구현한 클래스 : ArrayList, Vector, LinkedList, Stack 등 ArrayList >ArrayList 생성 ArrayList 참조변수명 = new ArrayList(); //1 ArrayList 참조변수명 = new ArrayList(int initialCapacity); //2 ArrayList 참조변수명 = new ArrayList(Collection c); //3 //1: E 타입의 ArrayList에 생성. 배..

16.07_컬렉션 프레임워크[개요]_22.09.13

학습키워드 컬렉션 프레임워크 주요 인터페이스와 컬렉션 클래스의 핵심 메서드 자료 구조 >의미 : 데이터가 저장되고 관리되는 구조 : 데이터의 추가, 검색 ,삭제가 가능해야함. >예시 : stack(프링글스통), Queue(선입선출), tree(트리형 연결 구조) 등 컬렉션 프레임워크 >컬렉션 의미 : 여러 데이터들의 집합 >컬렉션 프레임워크 의미 : 컬렉션을 편리하기 다루기 위해 미리 메서드를 정의해놓은 것 : 자주 사용되는 자료 구조들을 편리하게 사용할 수 있게 미리 구현해 둔 것. >주요 인터페이스 (3종) List : 데이터의 순서가 유지되는 컬렉션을 구현함. : 데이터 중복 저장 가능 : ArrayList, Vector, Stack, LinkedList 등 Set : 데이터의 순서가 유지되지 않는..

16.06_예외 처리_22.09.13

학습 키워드 예외 처리 컴파일 에러와 런타임 에러 자바 예외 클래스의 상속 계층도 try-catch 문과 예외 전가 throws 키워드와 throw 키워드 오류 >오류의 요인 외부적인 요인 : 하드웨어 문제 : 네트워크 연결 끊김 등 내부적인 요인 : 개발자의 코드 작성 에러 : 컴파일 에러, 런타임 에러 등이 존재 >컴파일 에러, Compile Time Error : 컴파일 할 때 발생하는 에러 : syntax error 라고도 함. 주된 원인이 문법적인 문제이기 때문. : 세미콜론 생략, 오탈자, 잘못된 자료형 등 문법적인 문제로 인해 발생하며, 자바 컴파일러가 에러를 발견함. : IDE가 코드를 작성하는 순간에 친절히 알려줌 >런타임 에러, Run Time Error : 프로그램이 실행될 때 발생하..

16.05_열거형_22.09.13

학습 키워드 Enum의 기본적인 개념 Enum이 등장하게 된 배경, 장점 Enum의 문법 요소 Enum; enumerated type >의미 : 여러 상수(final)들을 편리하게 선언하기 위한 자바의 문법요소 >Enum의 탄생 배경 1. 상수명의 중복을 방지하기 위한 노력 : 많은 상수를 정의하다 보면 이름이 중복되는 경우가 발생할 수 있음. : 중복 문제를 해결하기 위해 Enum(열거형)이 탄생함. : 이런 경우 중복되는 상수들을 다른 인터페이스에 넣음으로써 극복할 수 있음. //타입 안정성 문제 해결 불가 //중복 에러 예시. //상수에 할당된 정수는 상수를 구분하여 쓰기 위함. public static final int A = 1; public static final int B = 2; publi..

16.03_제네릭 메서드_22.09.13

학습키워드 제네릭 제네릭 클래스 제네릭 메서드 Wrapper 클래스 제네릭 메서드 >의미 : 제네릭으로 선언한 메서드 : 클래스 전체가 아닌 특정 메서드만 제네릭 선언을 할 수 있다. >제네릭 메서드 정의 : 제네릭 메서드의 타입 매개변수는 반환타입 앞에 선언한다. class Main { ... public void sleep(T element){ ... } } >제네릭 메서드의 특징 및 장점 : static 메서드에서도 선언 가능하다. : 제네릭 메서드의 타입은 메서드를 호출할 때 지정된다. : 타입 지정을 생략할 수 있다. (컴파일러가 자동으로 인자의 자료형으로 타입을 지정함) : 제네릭 메서드의 내용에는 Object 클래스의 메서드만 사용할 수 있다. //어떤 타입이 지정될 지 모르기 때문이다. 하..

16.02_제네릭 클래스_22.09.13

학습키워드 제네릭 제네릭 클래스 제네릭 메서드 Wrapper 클래스 제네릭 >의미 : 타입을 구체적으로 지정하지 않고, 추후에 지정할 수 있도록 '일반화'해두는 것. >특징 및 장점 : 작성한 클래스, 메서드가 특정 데이터 타입에 얽매이지 않게 설정할 수 있음. : 유연한 코드. 즉, 확장성이 넓어짐. 제네릭 클래스 >의미 및 특징 : 제네릭이 사용된 클래스 : 제네릭 클래스도 상속 및 다형성을 적용할 수 있다. : 인스턴스 생성 시, 원하는 타입을 인자로 줄 수 있다. >제네릭 클래스 문법 구조 public class Main { public static void main(String[] args) { //타입 인자: String, T = String Basket basket1 = new Basket(..