인터페이스 3

람다식이란??

람다식이란?? 메소드를 하나의 식으로 표현한 것. 익명 함수(annonymous function)이라고도 한다. 이를 사용하면 기존의 함수를 간단하고 명확한 식으로 표현할 수 있게 된다. 함수형 언어 JDK1.8부터 함수형 언어의 기능을 java가 지원하기 시작했다. 그래서 java는 oop언어임과 동시에 함수형 언어의 기능을 포함하고 있다. 람다식이란?? 1. 함수(메서드)를 간단한 식으로 표현하는 방법이다. 예를 들어 // 메서드 int max(int a, int b) { return a > b ? a : b; }요런 애를 // 람다식 (a, b) -> a > b ? a : b이런 식으로 간단하게 표현하는 것이다. 2. 람다식은 익명 함수(anonymous function)이다. 위의 예시에서 볼 수..

이론 정리/java 2023.01.07

함수형 인터페이스

함수형 인터페이스 단 하나의 추상 메서드만 선언된 인터페이스 에를 들면 interface MyFunction { public abstract int max(int a, int b); }이런 식으로 하나의 추상 메서드만 선언된 것을 말한다. 참고로 이거에다가 @FunctionalInterface 라는 어노테이션을 붙이면 컴파일러가 이친구가 제대로 작성된 추상 메서드인지 확인해준다. -> 엥간하면 이거 붙이자. 그래서 이 함수형 인터페이스 로직을 구현해 주면 MyFunction f = new MyFunction() { public int max(int a, int b) { return a > b ? a : b; } };이렇게 될 것이다. 이를 활용해서 람다식의 참조변수로 쓸 수 있는데 int value = ..

이론 정리/java 2023.01.07

abstract class와 interface에 관하여

abstract class 이름에서 알 수 있듯, 추상 클래스는 선언만 하고 실제 구현부는 작성하지 않은 상태로 남겨둔 클래스이다. 추상 클래스는 다음과 같은 특징을 갖는다. new메소드를 사용하여 객체를 직접 생성할 수 없다. 구현부가 실제로 없기 때문에 자식 클래스에서 구현하게 된다. 그리고, 이 구현은 무조건 이루어져야 한다. 이 메소드 내에는 추상 메소드가 존재하며, 이 메소드를 자식 클래스에서 구현한다. 추상 클래스는 간단히 말하자면 미완성 설계도라고 생각하면 된다. 예를 들어 개, 고양이, 소, 말, 돌고래 라는 동물들이 있는 경우 추상 클래스로 동물을 선언해주면 동물이 갖는 공통의 특성을 아래에서 하나씩 사용할 수 있다. 동물(추상 클래스) 걷기 뛰기 숨쉬기 이 뛰는 방식, 걷는 방식, 숨쉬..

이론 정리/java 2022.04.06