본문 바로가기

Java9

람다식(Lambda Expressions) 기본 문법 ============================================================================ ( 변수타입 변수이름, ... ) -> { 실행문; ... } ============================================================================ 말을 길게 늘이는 것 보다 아래 적용 예를 보는게 이해가 빠를 것 같다. ============================================================================ ( int num ) -> { System.out.println(num); } ===============================================.. 2021. 4. 10.
람다식(Lambda Expressions) Java8부터 지원한다 국내 대부분의 Java버전은 8이라고 한다. Java8보다 최신버전은 있지만 전자정부프레임워크 때문이지 않을까? 람다식은 익명함수(anonymous function)를 생성하기 위한 식으로 객체지향 언어보다 함수지향 언어에 가깝다고 한다. 현재 코딩스타일도 함수형 코딩이 대세라고 한다. 하지만 나는 모르는게 많으니 람다식을 이해하는데 힘쓰자 람다식을 공부하기 전에 알아야 하는 부분 1. interface는 구현해서 사용해야한다. 2. interface 자체를 생성할 수는 없다. Runnable이라는 interface가 있다. 이 interface에는 run()이 있다. 여기서 인터페이스의 익명 구현 객체를 생성하는 전형적인 코드는 아래와 같다고 한다. 이미지 - 1 interfac.. 2021. 4. 10.
제네릭(Generic) method 제네릭을 클래스에 적용한 것과 다르지 않다. 타입을 지정하지 않고 사용시에 적용해서 사용할 수 있게 한다는 것에 의미가 있다고 본다. (범용성?!) static method로 예문을 보는 도중 이걸 어떻게 봐야하는지 헷갈렸다.... (1) public Box boxing(T t) { ... } (외계어가 따로 없다 증말...) (2) public static boolean compare ( Pair p1, Pair p2){ ... } 처음에 이런 코드를 보니 뭔 소린가 싶었다. 1. 처음 나오는 이부분은 타입 파라미터이다. 여기서 타입을 결정한다. 2. (1)에서 Box는 제네릭 클래스이다. 반환값으로 클래스를 준다는 것이다. 3. method 이름 뒤의 ( )는 매개변수이다. 처음에 지정한 타입에 맞게.. 2021. 4. 10.
제네릭(Generic) multy type 어렵게 생각할 필요없다! 2개 이상의 타입을 설정할 수 있게 한다고 생각하면 된다! 이미지 - 1 이미지 - 2 쉽게 생각하면 기본 타입(byte, char, short, int, long, float, double, boolean)과 기본 타입의 값을 갖는 객체로 왔다 갔다 요리조리 박싱(Boxing), 언박싱(Unboxing) 한다고 하더라... 포장클래스는 기본 타입의 첫 문자를 대문자로 바꾸면 된다. 기본 타입(byte, char, short, int, long, float, double, boolean) 포장 클래스(Byte, Char, Short, Int, Long, Float, Double, Boolean) Wrapper(포장) 클래스는 다음에 공부하자 잘 모르겠다 2021. 4. 10.