Java/자바의 신 VOL.2
18. Java 11은 얼마나 달라졌을까?
h2boom
2024. 7. 10. 17:05
Java 11
- Java 11은 LTS 버전
Java 파일 실행 방법의 변화
- 이전까지는 java 파일을 실행하기 위해서 컴파일을 해야 실행할 수 있었다.
- 별도의 패키지를 명시할 필요도 없이 실행할 수 있다.
- 클래스가 있는 해당 디렉토리에서 javac가 아닌 java 명령어로 실행 가능하다.
- 셔빙 파일 (shebang file)
- 맨 앞에 "#!"로 시작하고 실행 파일이 정의되어있어야 한다.
- 쉘 스크립트 같이 필요한 기능을 만들어 사용할 수 있도록 돕는 용도
// Shebang 파일
#!/usr/bin/java --source 11
public class NoCompile {
public static void main(String [] args){
System.out.println("This is script with java!!");
}
}
Lambda - Var
- 이전에는 람다 표현식에서 var를 사용할 수 없었다.
// 일반적인 람다 표현식
private void getSum() {
List<Integer> numbers = Arrays.asList(1,2,3,4,5);
BinaryOperator<Integer> sumNumber = (Integer x, Integer y) -> x+y;
// Integer 타입인 것이 명확하므로 var로 표현 가능
BinaryOperator<Integer> sumNumber2 = (var x, var y) -> x+y;
int sum = numbers.stream().reduce(0, sumNumber);
System.out.println(sum);
}
- 타입이 확실한 람다 표현식에서 불필요하게 각 타입을 일일이 타이핑 할 필요 없이 var를 사용할 수 있다.
- 향후에 타입이 변경되었을 때 var를 사용해 두면 변경해야하는 코드의 양도 줄어든다.