• 티스토리 홈
starryeye
  • 프로필사진
    starryeye
    • 분류 전체보기 (189)
      • C++ (17)
      • Java (24)
      • OOP (5)
      • Spring Reactive Stack (12)
        • Reactive Streams (3)
        • Netty (4)
        • Reactor (1)
        • Webflux (3)
        • DB, Cache 연동 (1)
      • Spring (90)
        • Core (17)
        • MVC (33)
        • Client (2)
        • Security (4)
        • DB, Cache 연동 (33)
      • DataBase (12)
        • RDBMS (2)
        • NoSQL (10)
      • Message Broker (6)
      • Web (4)
      • Network (4)
      • 대규모 시스템 설계 (15)
  • 방문자 수
    • 전체:
    • 오늘:
    • 어제:
  • 최근 댓글
      등록된 댓글이 없습니다.
    • 최근 공지
        등록된 공지가 없습니다.
      # Home
      # 공지사항
      #
      # 태그
      # 검색결과
      # 방명록
      • Java 9, 10 주요 변경점
        2023년 05월 19일
        • starryeye
        • 작성자
        • 2023.05.19.:19
        반응형

        JDK 9

        1. 인터페이스에 private 메서드 추가

        이전 history
        Java 8 버전에서는 인터페이스에 default, static 메서드가 추가 되었었다.
         
        내용
        Java 9 버전에서는 인터페이스에 private 메서드가 추가되었다.
         
        코드

         
        추상 클래스 vs 인터페이스
        - 둘 다 객체로 만들 수 없다.
        - 추상클래스는 public, protected, private 가능하지만, 인터페이스는 public, private 가능
        - 추상클래스에는 멤버변수 선언 가능, 인터페이스는 public static 변수만 선언 가능
        - 추상클래스는 extends 1개 가능, 인터페이스는 implements 여러개 가능
         
         

        2. try-with-resources 문법, effectively final 변수

        이전 history
        Java 7 이전에는 try-catch-finally 문법을 사용했지만,
        Java 7 부터 try-catch-finally 의 문제점을 개선한 try-with-resources 가 도입되었다.
        (자원 반납과 에러 스택 트레이스에 대한 문제점이 개선됨)
         
        내용
        try-with-resources 문법에서 Java 8 버전까지는 try 괄호 안에 변수를 넣으면 에러
        Java 9 부터 try 괄호 안에 effectively final 변수는 넣을 수 있게 되었다.
         
        코드

        try-with-resources 문법은 당연하게도..
        AutoCloseable 를 상속받은 BufferedReader 변수라 가능한 것이다.
        (TODO: try-catch-finally vs try-with-resources 포스팅)
         
         

        3. Java Collection 에 팩토리 메서드 of 추가

        내용
        Java Collection 의 각 타입에 팩토리 메서드 of 가 추가 되어
        가변인자로 생성하는 방법이 직관적으로 변했다.
         
        코드

         
         

        4. Arrays 클래스에 compare, mismatch 메서드 추가

        Arrays.compare()
        두 Array 를 파라미터로 받아서 어느 배열이 사전적(lexicographical)으로 우선되냐를 비교한다.
         
        Arrays.mismatch()
        두 Array 를 파라미터로 받아서 몇번째 인덱스부터 다른지 비교하여 리턴해준다.
         
         

        JDK 10

        1. var

        로컬 변수 타입 추론이 가능해졌다.
         
        코드

         
        참고
        Jdk 11 부터 람다식의 파라미터에 var 키워드를 사용할 수 있게 되었다.
        하지만, Jdk 8 에서 람다식이 도입 될 때 부터 파라미터 타입 추론 기능은 존재 했었다.

         
         

        반응형

        'Java' 카테고리의 다른 글

        Java 16 주요 변경점  (0) 2023.05.20
        Java 11 ~ 15 주요 변경점  (0) 2023.05.19
        불변 객체 validation  (1) 2023.05.07
        불변 객체, lombok @Value 와 Java Record  (0) 2023.05.07
        [Java 정리] ThreadLocal  (0) 2022.10.19
        다음글
        다음 글이 없습니다.
        이전글
        이전 글이 없습니다.
        댓글
      조회된 결과가 없습니다.
      스킨 업데이트 안내
      현재 이용하고 계신 스킨의 버전보다 더 높은 최신 버전이 감지 되었습니다. 최신버전 스킨 파일을 다운로드 받을 수 있는 페이지로 이동하시겠습니까?
      ("아니오" 를 선택할 시 30일 동안 최신 버전이 감지되어도 모달 창이 표시되지 않습니다.)
      목차
      표시할 목차가 없습니다.
        • 안녕하세요
        • 감사해요
        • 잘있어요

        티스토리툴바