# JAVA 버전 관련 간단 상식
Q. JAVA 8 과 JAVA 1.8.0은 서로 다른 버전을 뜻하는 명칭이다?
=> 정답은 X 이다.
같은 말이며, 필자는 JAVA 8이라고 명칭을 사용하는 것을 추천하고 실제 많은 레퍼런스에서도 JAVA 8로 표기하고 있다.
Q. LTS(Long Term Support) 버전이란?
=> Oracle에서 계속 유지보수 및 관리 해주는 버전으로,
JAVA 8/11/17버전이 LTS버전에 해당한다. (LTS의 반댓말 = non-LTS)
# JAVA 8의 주요 기능 소개
1. Lambda(람다)
Lambda는 함수를 하나의 표현식으로 나타낸것을 의미한다.
또다른 이름으로 "익명 함수"라고도 부른다.
List<Integer> numList = Arrays.asList(0, 1, 2);
// 1. 반복문 - Iterator
for(Integer num: numList) {
System.out.println(num); // 0, 1, 2
}
// 2. 람다 표현식
numList.forEach(x -> System.out.println(x)); // 0, 1, 2
- 장점
- 코드 길이 단축
- 간결성
- 단점
- 재활용 불가
2. 인터페이스 default, static 메소드
인터에페이스는 구현부가 없는 추상메소드만 가질 수 있었는데,
default, static 지시어로 생성된 메서드는 구현부를 가질 수 있다.
- default 메서드
- 재정의 o
- 참조 변수로 호출
- static 메서드
- 재정의 x
- 클래스 메서드이기 때문에 객체 생성하지 않고 직접 사용
3. Stream(스트림)
Collection의 요소들을 하나씩 순회하며 필요한 작업을 간결하고 편리하게 처리 할 수 있게 해주는 기능이다.
- Stream 관련 주요 함수
- filter
- sort
- map
- foreach
- range
- iterate
- limit
- generate
4. LocalDateTime
로컬 시간을 자동 불러오기 및 사용 할 수 있게해주는 기능이다.
import java.time.LocalDateTime;
class Main {
public static void main(String[] args) throws Exception {
LocalDateTime startTime = LocalDateTime.now();
}
}
728x90
'Study > Java' 카테고리의 다른 글
[JAVA] JVM의 깊은 개념 및 구조 (0) | 2023.06.09 |
---|---|
[JAVA] Class란? (0) | 2022.05.29 |
[JAVA] 생성자 (0) | 2022.05.29 |
[JAVA] 객체(=Instance) 개념 잡기! (0) | 2022.05.27 |
[JAVA] 메소드(=Method)에 대하여 (0) | 2022.05.27 |
댓글