본문 바로가기

전체 글155

52.함수형 인터페이스와 람다식 구현하여 사용 함수형 인터페이스 선언 - 람다식을 선언하기 위한 인터페이스 - 익명 함수와 매개 변수만으로 구현되므로 인터페이스는 단 하나의 메서드만을 선언해야함 - @FunctionalInterface 에노테이션(annotation) 함수형 인터페이스라는 의미, 내부에 여러 개의 메서드를 선언하면 에러남 @FunctionalInterface public interface MyNumber { int getMax(int num1, int num2); int add(int x, int y); } 람다식 구현과 호출 예제 - MyNumber.java(interface) @FunctionalInterface public interface MyNumber { int getMax(int num1, int num2); } - My.. 2022. 6. 1.
51.람다식 함수형 프로그래밍과 람다식 - 자바는 객체 지향 프로그래밍 : 기능을 수행하기 위해서는 객체를 만들고 그 객체 내부에 멤버 변수를 선언하고 기능을 수행하는 메서드를 구현 - 자바 8부터 함수형 프로그래밍 방식을 지원하고 이를 람다식이라 함 - 함수의 구현과 호출만으로 프로그래밍이 수행되는 방식 - 함수형 프로그래밍(Functional Programming : FP) : 순수함수를 구현하고 호출함으로써 외부 자료에 부수적인 영향(side effect)를 주지 않도록 구현하는 방식입니다. 순수 함수란 매개변수만을 사용하여 만드는 함수입니다. 즉, 함수 내부에서 함수 외부에 있는 변수를 사용하지 않아 함수가 수행되더라도 외부에는 영향을 주지 않습니다. 함수를 기반으로 하는 프로그래밍이고 입력받는 자료 이외에 .. 2022. 6. 1.
50.익명 내부 클래스의 활용 지역 내부 클래스 - 지역 변수와 같이 메서드 내부에서 정의하여 사용하는 클래스 - 메서드의 호출이 끝나면 메서드에 사용된 지역변수의 유효성은 사라짐 - 메서드 호출 이후에도 사용해야 하는 경우가 있을 수 있으므로 지역 내부 클래스에서 사용하는 메서드의 지역 변수나 매개 변수는 final로 선언됨 예제 - AnnonymousInnerTest.java class Outer2{ int outNum = 100; static int sNum = 200; Runnable getRunnuble(int i) { int num = 10; class MyRunnable implements Runnable{ int localNum = 1000; @Override public void run() { System.out.pr.. 2022. 6. 1.
49.여러 내부클래스의 정의와 유형 내부 클래스(inner class) - 클래스 내부에 선언한 클래스로 이 클래스를 감싸고 있는 외부 클래스와 밀접한 연관이 있는 경우가 많고, 다른 외부 클래스에서 사용할 일이 거의 없는 경우에 내부 클래스로 선언해서 사용함 - 중첩 클래스라고도 함 - 내부 클래스의 종류 : 1. 인스턴스 내부 클래스 2. 정적(static) 내부 클래스 3. 지역(local) 내부 클래스 4. 익명(anonymous) 내부 클래스 인스턴스 내부 클래스 - 내부적으로 사용할 클래스를 선언(private으로 선언하는 것을 권장) - 외부 클래스가 생성된 후 생성됨(정적 내부 클래스와 다름) - private이 아닌 내부 클래스는 다른 외부 클래스에서 생성할 수 있음 OutClass outClass = new OutClas.. 2022. 6. 1.