람다식(Lambda Expression) 람다식 Java1.8에서 추가된 함수형 프로그래밍 기법이다. 객체지향 프로그래밍과 다르게, 비즈니스 로직만을 빠르게 구현하는 특징. 객체지향 언어인 Java에서 메소드를 함수처럼 사용하는 형식. 함수적 프로그래밍 y = f(x
자바 8부터 표준 API로 제공되는 함수형 인터페이스java.util.function 패키지에 포함되어 있다.매개타입으로 사용되어 람다식을 매개값으로 대입할 수 있도록 해준다.자주 사용되는 함수형 인터페이스를 정의해 둔 APIConsumer, Supplier, Func
하나의 기능을 수행하는 일련의 코드함수는 호출하여 사용하고 기능이 수행된 후 값을 반환 할 수 있다.함수로 구현된 기능은 여러 곳에서 호출되어 사용될 수 있다.함수함수의 입출력 반환함수입출력함수는 이름, 매개변수, 반환 값, 함수 몸체(body)로 정의된다.함수와 스택
Thread : 최소의 프로세스 동작 단위 -> 하나의 프로세스는 여러개의 스레드를 가질 수 있다. 하나의 스레드가 하나의 프로세스에 속한다.Process: OS로부터 메모리를 할당받아 동작하는 프로그램의 동작 단위, 프로그램이 실제로 메모리에 상주하면서 동작할 때
채널을 이용해서 입/출력을 모두 처리한다.(동시에 처리하는 것은 안된다)IO와 달리 기본적으로 버퍼를 사용한다.NIO는 Blocking 및 Nonblocking을 모두 지원한다.Non-blocking은 비동기식으로 읽기/쓰기를 시켜놓고 다른 작업을 진행 가능하다(멀티
Java에서 소스 코드를 관리하는 방식물리적으로 디렉토리로 구분된 파일을 .으로 계층적으로 구분패키지 이름을 짓는 규칙: package 소속.프로젝트.용도 ex) package com.google.dev.utils ex) package com.fastcampus.cat
참조자료형기본 자료형은 사용하는 메모리가 정해져 있지만, 참조 자료형은 클래스에 따라 다르다.학생 클래스에 있는 과목 이름, 과목 성적 속성을 학생클래스와 과목 클래스로 분리하고,과목 참조 자료형 멤버 변수를 학생에 정의하여 사용한다.참조자료형예제
문자열을 다루는 패턴화된 작업을 정의하는 수식문자열 매칭, 템플릿 일치 여부 확인, 템플릿 매칭 검색(문서가 있을 때 이메일만 뽑는 작업을 할 때 등등)정규표현식은 느리기 때문에 남용하면 안된다. 많은 동작을 돌리면 안된다. 알고리즘 문제를 정규표현식을 푸는건 적합하지
중간 처리 메소드 이후에 최종 처리 메소드를 붙여서 사용한다.값을 원하는 형태로 처리하기 위한 연산자이다. 중간 연산자들은 lazy하게 실행되고 결과로 stream을 반환한다.lazy한 처리는 최종처리메소드가 실행되기전까지 연산이 실행되지 않음,결과가 필요하기 전까지
forEach() - 요소들을 계속해서 반복해서 가져와라라는 의미이다.stream.forEach(name -> System.out.println(name))으로 되어있을 때스트림에 가져온 요소를 name에 넣어서 하나씩 출력되게 하는 것이다.매개값의 형태는 Consum
스트림 API(Stream API) 여기서 말하는 스트림과 나중에 자바 io에서 말하는 스트림은 다른 것이다. 여기서의 스트림은 자료의 연산을 위해서 사용하는 객체를 말한다. 자바 io에서의 스트림은 입출력을 위한 스트림이다. 스트림 API Java 8에서 추가
객체가 스스로를 가르키는 참조, 자신의 메모리를 가리킨다.인스턴스 자신의 주소를 반환한다.멤버 변수와 로컬 변수의 이름이 같을 때, 멤버 변수임을 명시생성자를 호출하는 데에도 사용할 수 있다.생성자 오버로딩에서 한 클래스 안에 생성자가 여러개 있을 수 있는데한 생성자에
단위 테스트라고도 불리며, 최소 단위의 테스트를 말한다.최소 단위는 메소드 단위를 말하는데 어느 정도의 객체 단위라는 것을 포함하고 있다.객체 단위를 포함하고 있다는 의미는 메소드는 객체의 속성을 변화시키는 side-effect를 가지고 있기 때문이다.환경 셋업과 환경
변수의 자료형은 기본 자료형, 참조 자료형으로 나눠진다.변수에 대한 생성은 생성자에서 주로하는데 사용하기 전에만 하면 된다.생성하기 전 상태에서 값을 넣으면 NullPointException이 발생할 수 밖에 없다.메모리가 없는데 값을 넣으면 에러가 날 수 밖에 없다.
기본형 타입을 객체로 쓰기 위해 있은 클래스기본형 타입이 허용되지 않는 문법에 기본형 타입을 쓰기 위해서 제공 하는 클래스생성자를 이용한 객체 생성valueOf를 이용한 객체 생성기본형을 객체로 사용할 수 있게 하는 것을 - > Autoboxing객체를 기본형으로 바꾸