스트림(Stream)이란?- 배열, 컬렉션 등의 데이터를 하나씩 참조하여 코드를 실행할 수 있는 기능을 제공한다.- 람다식을 사용해서 간결하게 요소들을 다룰 수 있다.- 대량의 데이터를 병렬로 처리할 수 있다. 이를 통해 대량의 데이터에서 평균값, 최대값, 조건에 맞는 결과값, 통계 등을 쉽게 얻을 수 있다.- 데이터를 최종 처리하기 전에 여러 가지 중간 처리를 할 수 있다.- 스트림은 크게 3가지로 구성되며, 스트림 생성(원본 스트림) ▶ 중개 연산(필터링 스트림, 매핑 스트림) ▶ 최종 연산(최종 처리 스트림) 과정으로 구성되어 있다.스트림 종류- 자바에서 제공하는 스트림 클래스를 이용하면 여러 가지 데이터 소스에서 데이터 스트림으로 변환해서 일관성 있고 빠르게 처리할 수 있다.- 자주 사용되는 데..
람다식 (Lambda Expression)- 자바 8버전에서 처음 도입되었으며, 함수형 프로그래밍 스타일을 지원하는 표현식이다.- 익명 클래스를 더 간단하고 간결하게 작성할 수 있으며, 주로 추상 메소드가 하나만 있는 인터페이스와 함께 사용된다.- 메소드 대신 하나의 식으로 표현하며, 익명 함수 (Anonymous function) 이라고도 한다.- 코드가 간결해지고, 코드 가독성과 생산성이 높아진다는 장점을 지닌 반면, 재사용이 불가능하고 디버깅이 어렵고 재쉬함수로는 맞지 않다는 단점을 지니고 있다. 람다식 기본 문법- 자바에선 람다식을 익명 객체를 이용해서 구현하며, "->" 기호를 이용해서 객체 생성 없이 바로 추상 메소드를 함수처럼 구현한다.- 람다식 이전public abstract 리턴 타입 ..
컬렉션 프레임워크 (Collection Framework)- 여러 가지 자료 구조(Data Structure)를 쉽게 사용할 수 있도록 자바에서 미리 구현하여 제공하는 클래스를 말한다.- 대표적인 인터페이스로는 List 인터페이스, Set 인터페이스, Map 인터페이스 등이 있다. Map 계열 클래스- 키(key)와 값(value)의 쌍으로 이루어진 데이터의 집합이며, 이를 엔트리(entry)라고 한다. - 키는 중복을 허용하지 않으며, 하나의 키는 하나의 값과 연결된다.- key를 이용하여 저장한 값을 얻을 수 있다.- 대표적인 클래스로는 HashMap 클래스와 TreeMap 클래스 등이 있다. Map 인터페이스에 선언되어 있는 주요 메소드들- 모든 Map 인터페이스를 상속하는 Map 구현 클래스에 공..
컬렉션 프레임워크 (Collection Framework)- 여러 가지 자료 구조(Data Structure)를 쉽게 사용할 수 있도록 자바에서 미리 구현하여 제공하는 클래스를 말한다.- 대표적인 인터페이스로는 List 인터페이스, Set 인터페이스, Map 인터페이스 등이 있다. Collection 계열 클래스 Collection 인터페이스에 선언되어 있는 주요 메소드들- 모든 컬렉션 인터페이스에 공통적으로 존재하는 메소드이다.- Collection 인터페이스를 상속하는 클래스들은 추상 메소드를 활용하여 다양한 방식으로 데이터를 관리할 수 있다.추상 메소드설명 int size() 현재 컬렉션에 포함된 요소의 개수를 반환한다. boolean isEmpty() 현재 컬렉션이 비어 있는지 여부를 반환..
3주차 회고- 이번주에 다룬 학습 내용은 주로 실무에서 많이 사용되는 부분들인 "인터페이스", "익명클래스", "입출력", "예외처리", "컬렉션 프레임워크"에 대해 학습하였다. 이론에 대해 모르고 개발을 진행하던 지난 날들을 회상하며 다양한 메소드들과 사용 방법을 익히며 실습하면서 한층 더 이해하는 주간이었다.- 지난 2주 간의 학습 내용에 대한 복습을 진행하고, 3주차 학습을 진행하다보니 과제 제출 기한을 준수하지 못하는 상황이 벌어졌다. 이는 프로젝트의 납기일 준수를 지키지 못한 것과 같다고 생각하니 스케줄링(WBS)의 중요성을 다시금 깨닳는 시간이 되었다.주요 학습 내용JAVA의 인터페이스 [링크]- 인터페이스는 추상 클래스가 발전된 기능이다.- 인터페이스의 멤버는 상수와 추상 메소드만 가능하다...
에러와 예외에러(Error)- 프로그램 실행 시 프로그램의 중요 기능 수행을 불가능하게 할 수 있는 문제를 의미한다.- 하드웨어나 운영체제의 치명적인 에러, 디도스 공격과 같은 상황을 말한다.- 에러를 해결한 후, 프로그램을 재실행해야 한다.예외(Exception)- 에러보다는 가벼운 문제를 말하며, 프로그램 자체적으로 문제 해결이 가능하다.- 개발자가 프로그램을 개발하고 충분히 테스트를 한 후, 배포를 하더라도 예상치 못한 버그(Bug)가 발생되는 경우도 해당된다.- 정상적이지 않는 케이스의 예 - 0 으로 숫자를 나누는 경우 - 배열의 인덱스를 초과하여 참조하고자 하는 경우 - 파일을 열 때, 없는 파일을 열려고 하는 경우예외 처리 목적- 예외가 발생하면 예외가 발생하면 예외가 발생한..