JAVA
-
[JAVA] 람다식 (lamda Expression)와 함수형 인터페이스(Functional Interface)JAVA 2021. 10. 4. 14:48
람다는 Java8의 추가된 기능 중 하나이다. 람다 표현식(lamda expression)은 메서드로 전달할 수 있는 익명 클래스를 단순화한 표현식이다. 람다식 사용법 람다의 기본형태는 이렇다. (매개변수, ...) -> {실행문 ...} # 예제 1 int max(int a, int b) { // 기본 표현식 return a > b ? a : b; } (a, b) -> a > b ? a : b // 람다 표현식 # 예제 2 void printVar(String name, int i) { // 기본 표현식 System.out.println(name + " = " + i); } (name, i) -> System.out.println(name + " = " + i) // 람다 표현식 # 예제 3 int r..
-
[JAVA] 익명클래스(Anonymous class)JAVA 2021. 10. 3. 17:50
익명클래스는 이름이 없는 inner 클래스이다. 클래스 정의와 동시에 객체를 생성할 수 있다. 부모 클래스를 상속하는 방식으로 정의한다. 익명클래스의 목적은 부모 클래스를 상속받는 서브 클래스를 생성하지 않고도, 단일 객체를 만들어서 부모 클래스에 정의된 동작에서 행위를 추가할 수 있다는 것이다. 예시) Test t1 = new Test(){ public int num = 10; @Override public int getNum(){ return this.num; } }; 이처럼 부모클래스 Test를 상속받아 오버라이드를 해, 굳이 클래스파일을 생성치 않고 즉석에서 만들 수 있다. 하지만 익명클래스는 결국 부모클래스 인스턴스에 넣기 때문에 부모클래스에서 추상화하지 않는 메소드에 대해선 호출이 되지 않는다..