본문 바로가기

분류 전체보기41

람다식(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.
제네릭(Generic) Type 제네릭이란 무엇인가.... 막 배운터라 무슨 소리인지 모르겠다! 선생님은 제네릭은 다이아몬드다!! 이렇게 말하셨다. 잘 모르니 명쾌하게 느껴진다. 이미지 - 1 이미지 - 2 이미지 - 3 이미지 1과 비교해서 고민해보자! (이미지 1보다 엄청 간단해보인다.) 이미지 - 4 이미지 2와 비교해서 고민해보자! (형변환을 한적이 있는가?!) 입맛대로 사용할 수 있는 클래스! 값을 가져올 때 타입을 크게 고민할 필요가 없는 방식 제네릭은 컬렉션, 람다식, 스트림, NIO에서 다양하게 쓰인다고 한다. 나는 컬렉션은 이제 막 배웠고 람다식도 조금 밖에 모른다..... 일단 이런건구나 하고 넘어가자! 2021. 4. 10.