[자바 8-11] 0. 자바를 더 공부해야하는 이유!

코린이서현이·2024년 12월 9일
0

Java

목록 보기
47/50

카카오 테크 캠퍼스💛도 끝났고! 어떤 걸 공부할까 하다가 자바를 더 공부하기로 했다.
람다와 함수형..? 인터페이스에 대해서는 들어봤지만, 늘 어리버리하게 공부한 것 같은 아쉬움이 있다!

그래서 유명한 책인 모던 자바 인 액션을 기반으로 자바를 더 공부해보려 한다!

이 책을 통해서 자바 8과 9,10까지 변화된 내용과 새롭게 추가된 기능(스트림 API, 인터페이스의 디폴트 메서드) 등을 정리하게 될 것이다.

자바 8을 공부해야하는 이유!

그런데 저는 자바 21을 쓰고 있는뎁쇼?

안정성에 초점을 맞춘 LTS의 출시 기록들... 
Java 8 (2014)
Java 11 (2018)
Java 17 (2021)
Java 21 (2023)

그러면 2024인 현재! 2014년도에 출시된 자바 8을 이렇게 열심히 공부해야하는 이유는 무엇일까?

1. 자바의 람다, 스트림 API, 자바 내의 함수형 프로그래밍 등장에 대해서 배울 수 있다.

몇번 코드를 쓰다보면 스트림 API, Optional을 자주 쓰게 된다. 그리고 이 코드를 통해 훨씬 이해하기 쉽고, 짧고 간결한 코드를 만들 수 있다.

for 문을 사용해서 정렬하는 예시 
List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5);
List<Integer> evenNumbers = new ArrayList<>();
for (Integer num : numbers) {
    if (num % 2 == 0) {
        evenNumbers.add(num * 2);
    }
}

for 문을 사용하지 않고 정렬하는 예시 
List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5);
List<Integer> evenNumbers = numbers.stream()
    .filter(num -> num % 2 == 0)  
    .map(num -> num * 2)          
    .collect(Collectors.toList());

흠... 왠지 코드 줄도 비슷하고, 읽기도 친숙한 1번이 낫다고 생각되면 아닌 이유를 이번 글 마지막에서 알려주도록 하겠다!

2. 1번을 이해하지 않으면 자바 21도 활용할 수 없다.

자바 21에는 Virtual Threads개념이 등장한다고 한다. 그러나 자바 8에서 등장한 람다를 모르면 이를 이해하기 쉽지 않다. 자바 21이 이전 버전을 모두 밀어내고 만들어진 게 아니기 때문이다!

3. 아직 많은 회사가 자바 8을 쓰고 있다고 한다~

물론 내가 아직 회사를 다녀본 것은 아니지만.. 그렇다고 한다! 개발자의 역할에는 새로운 기능 개발도 있지만, 레거시 코드를 이해하고 유지보수하는 것도 아주 중요한 역할이다!

4. 기존의 자바로는 성능이 좋은 멀티코어 프로세서를 완전히 활용하기가 어렵다.

진짜 들어가기전에

1장에서 등장한 간략한 개념을 정리하고 싶었지만?! 해당 내용이 나올때 정리하는게 나을 것 같아서 여기까지 해보겠다!

profile
24년도까지 프로젝트 두개를 마치고 25년에는 개발 팀장을 할 수 있는 실력이 되자!

0개의 댓글