Q1. 람다나 스트림을 사용하면 코드의 무엇이 엄청 새롭게 변경되는가?
-> 코드의 포맷이 엄청 새롭게 변경된다.
-> 코드 작성을 더 간결하고 효율적으로 할 수 있다.
Q2. Optional은 무엇을 편리하게 처리하기 위해서 만든 클래스인가?
-> 객체를 편리하게 처리하기 위해서 만든 클래스이다.
-> 객체의 Null 처리를 해준다.
Q2-1 Optional을 사용한 예시 코드를 작성해보시오.
import java.util.*;
public class MemoryMemberRepository implements MemberRepository{
private static Map<Long, Member> store = new HashMap<>();
@Override
public Optional<Member> findById(Long id){
return Optional.ofNullable(store.getId());
}
}
Q3. Optional 클래스는 어떤 패키지에 속해 있는가?
-> java.util 패키지에 속해 있다.
Q4. Optional 클래스는 어떤 Exception이 발생하는 것을 막는가?
-> NullPointerException이 발생하는 것을 막는다.
Q5. 자바 8의 디폴트 메소드를 만든 이유가 무엇인가?
-> 하위 호환성을 위해서이다.
-> 특정 인터페이스에 새로운 메소드를 추가할 때, 디폴트 메소드로 추가하면 좋다.
Q6. 자바 8에서는 날짜와 관련해서 어떤 패키지를 새로 만들었는가?
-> java.time 패키지를 새로 만들었다.
Q7. 자바 8 이전에 Date나 SimpleDateFormatter라는 클래스는 어떤 문제를 갖고 있는가?
-> 스레드 안전하지 않다는 문제점을 갖고 있다
Q8. 자바 8에서는 어떤 정렬 메소드가 제공되며, 그것은 Java 7 에서 소개된 어떤 프레임웍을 사용하는가?
-> ParellelSort 메소드가 제공되며, Fork-join 프레임웤이 사용된다.
Q9. sort()와 parallelSort()의 차이점은 무엇인가?
->
Q10. 자바 8에서 순차적으로 나열되는 문자열을 처리할 때 사용하는 클래스는 무엇인가?
->
Q11. 자바는 처음부터 많은 '무엇'을 포함하는 잘 설계된 객체지향 언어로 시작했는가?
-
Q12. 자바는 처음부터 '무엇'과 '무엇'을 활용한 소소한 동시성도 지원했는가?
-
Q13. JVM은 코드를 '무엇'으로 컴파일 하는가?
-
Q14. 자바는 '무엇' 때문에 C에 비해 소프트웨어 엔지니어링적인 문제가 훨씬 적은가?
-
Q15. 프로그래머는 '무엇'이라는 도전에 직면하면서 멀티코어 컴퓨터나 컴퓨팅 클러스터를 이용해서
'무엇'을 효과적으로 처리할 필요성이 커졌는가?
-
Q16. '무엇'을 활용해야 하는데 지금까지의 자바로는 충분히 대응할 수 없었는가?
-
Q17. 자바8은 어떤 장점을 제공하는가?
-
Q18. 자바8에서는 '무엇'이 강화되었는가?
-
Q19. 자바 8 설계의 밑바탕을 이루는 세 가지 프로그래밍 개념 중
첫 번째 것은 무엇인가?
-
Q19-1 스트림이란 무엇인가?
-
Q19-2 이론적으로 프로그램은 '무엇'에서 데이터를 한 개씩 읽어 들이며,
'무엇'으로 데이터를 한 개씩 기록하는가?
-
Q19-3 어떤 프로그램의 '무엇'은 다른 프로그램의 '무엇'이 될 수 있는가?
-
Q20. 자바8에서는 '어떤' 패키지에 스트림 API가 추가되었는가?
-
Q21. 스트림 API의 핵심은 무엇인가?
-
Q22. 스트림 파이프라인을 이용했을 때의 장점은 무엇인가?
-
참고
Q1~Q10 자바의 신 5/22
Q2-1 스프링 입문 5/29
Q11~Q22 모던 자바 인 액션 6/18
A1~A10 5/23
A2-1 5/29
'Java' 카테고리의 다른 글
쓰레드 (0) | 2022.05.23 |
---|---|
람다 표현식 (0) | 2022.05.22 |
Serializable과 NIO (0) | 2022.05.22 |
컬렉션 프레임워크(List 인터페이스) (0) | 2022.05.20 |
컬렉션 프레임워크(Map 인터페이스) (0) | 2022.05.20 |