목표 자바의 람다식에 대해 학습하기 스터디 목차 람다식 사용법 함수형 인터페이스 Variable Capture 메소드, 생성자 레퍼런스 1. 람다식 사용법 람다식 이란? 자바 8부터는 객체지향 프로그래밍과 함수적 프로그래밍을 혼합할 수 있게 람다식을 제공한다. 람다식(Lambda expression)은 메서드를 하나의 식으로 표현한 것이다. 메서드를 람다식으로 표현하면 메서드의 이름과 반환값이 없어지므로, 람다식을 익명 함수라고도 한다. 람다식 예제 일반적인 plus 메서드를 람다식으로 바꿔보기 int plus(int x, int y){ return x+y; } 우선 람다식은 메서드 이름과 반환 타입을 제거할 수 있다. 또한, 반환값이 있는 경우 return 키워드 대신에 식으로 대신할 수 있다. (식의..
목표 자바의 제네릭에 대해 학습하세요. 스터디 목차 제네릭 사용법 제네릭 주요 개념 (바운디드 타입, 와일드 카드) 제네릭 메소드 만들기 Erasure 1. 제네릭 사용법 제네릭 이란? 자바에서 제네릭(generic)이란 데이터의 타입(data type)을 일반화(generalize)하는 것을 의미한다. 제네릭은 클래스나 메소드에서 사용할 내부 데이터 타입을 컴파일 시에 지정하는 방법이다. 컴파일시에 미리 타입검사를 수행하면 다음과 같은 장점이 있다. 클래스나 메소드 내부에서 사용되는 객체의 타입 안정성을 높일 수 있다. 반환값에 대한 타입 변환 및 타입 검사에 들어가는 노력을 줄일 수 있다. JDK 1.5 이전에서는 여러 타입을 사용하는 대부분의 클래스나 메소드에서 인수나 반환값으로 Object 타입을..
목표 자바의 Input과 Output에 대해 학습하기 스터디 목차 스트림 (Stream) / 버퍼 (Buffer) / 채널 (Channel) 기반의 I/O InputStream과 OutputStream Byte와 Character 스트림 표준 스트림 (System.in, System.out, System.err) 파일 읽고 쓰기 1. 스트림 (Stream) / 버퍼 (Buffer) / 채널 (Channel) 기반의 I/O I/O란? input과 output의 약자로 입력과 출력을 나타낸다. 즉, 컴퓨터 내부 또는 외부와의 장치와 프로그램간의 데이터를 주고 받는 것을 말한다. 스트림 스트림이란 연속적인 데이터의 흐름을 물에 비유해서 붙여진 이름인데, 여러 가지로 유사한 점이 많다. 물이 한쪽 방향으로만 흐..
목표 자바의 애노테이션에 대해 학습하기 스터디 목차 애노테이션 정의하는 방법 @retention @target @documented 애노테이션 프로세서 1. 애노테이션 정의하는 방법 애노테이션(Annotation) 이란? 자바에서 클래스 또는 메서드 앞에 @Override 같은 @ 표시가 애노테이션 이다. 이 애노테이션은 java5 부터 새롭게 추가되었다. 이 애노테이션으로 인해 데이터의 유효성 검사 등을 쉽게 알 수 있고, 이와 관련한 코드가 깔끔해지게 된다. 애노테이션의 용도는 다양한 목적이 있지만 메타 데이터의 비중이 가장 크다 할 수 있다. 메타 데이터(Meta-Data) : 데이터를 위한 데이터를 의미하며, 데이터에 대한 설명을 의미하는 데이터 (자신의 정보를 담고 있는 데이터) 애노테이션 정의..