You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
자바에서 이미 로딩이 완료된 클래스에서 또 다른 클래스를 동적으로 로딩(Dynamic Loading)하여 생성자(Constructor), 멤버 필드(Member Variables) 그리고 멤버 메서드(Member Method) 등을 사용할 수 있는 기법이다.
클래스의 패키지 정보, 접근 지정자, 수퍼 클래스, 어노테이션(Annotation) 등을 얻을 수 있다.
컴파일 시간(Compile Time)이 아니라 실행 시간(Run Time)에 동적으로 특정 클래스의 정보를 객체화를 통해 분석 및 추출해낼 수 있는 프로그래밍 기법이다.
Stream이란
스트림을 이용하면 선언형으로 컬렉션 데이터를 처리할 수 있다.
선언형이란 데이터를 처리하는 구현 코드 대신, 질의로 표현하는 것이다.
또한 멀티 스레드로 구현하지 않아도 데이터를 투명하게 병렬적으로 수행할 수 있다.
특징
파이프라이닝
대부분의 스트림 연산은 스트림 연산끼리 커다란 파이프라인을 구성하기 위해 자신을 반환한다.
덕분에 laziness, short-circuiting 등과 같은 최적화를 얻을 수 있다.
내부 반복
반복자를 이용해서 명시적으로 반복하는 컬렉션과 달리 스트림은 내부 반복을 지원한다.
Java8의 특징
Java8에서는 Lambda식, Stream API, Optional, 날짜 시간 API, StringJoiner 등이 추가되었습니다.
lambda는 함수형 프로그래밍을 지원하기 위한 기능이고, Stream API는 고차함수를 지원합니다. Optional은 Null-safety를 제공하며, Stream과 사용법이 유사합니다. 날짜 시간 API는 Joda-time등의 라이브러리에서 영향을 받아 괜찮은 API가 되었으며, StringJoiner는 문자열을 간단하게 구분자로 합칠 수 있는 기능을 제공합니다.
HashMap과 HashTable의 차이
가장 큰 차이는 Thread-safe
HashTable의 모든 데이터 변경 메소드는 sycronized로 선언되어있음. 메소드 호출 전 스레드 간 동기화 락을 통해 멀티 스레드 환경에서 데이터의 무결성을 보장.
HashMap은 Thread-safe 하지 않기때문에 멀티 스레드 환경에서 동시에 데이터를 조작하는 경우 데이터가 깨질 수 있음
동기화가 필요하다면, ConcurrentHashMap 사용. HashTable은 구형버전이기에 HashMap에 비해 느림.
HashSet
객체 그 자체를 저장
중복된 값을 허용하지 않고, 저장한 순서가 보장되지 않음
컬렉션 프레임워크에 대해서 설명해주세요.
Java Collection은 널리 알려져 있는 자료구조를 바탕으로 객체, 데이터들을 효율적으로 관리 할 수 있는 자료구조들이 있는 라이브러리를 컬렉션 프레임워크라고 합니다.
java의 리플렉션이란
Stream이란
특징
Java8의 특징
HashMap과 HashTable의 차이
HashSet
컬렉션 프레임워크에 대해서 설명해주세요.
List, Set, Map의 특징
Generic이란
super와 extends의 차이와 와일드 카드
extends T
는 상한 경계이고? super T
는 하한 경계이다.<?>
은 Java 최상위 타입인 Object와 같으므로 어떤 타입이든 지정할 수 있다.Default 메소드와 static 메소드
Interface
인터페이스와 추상클래스의 차이점에 대해 설명해주세요.
왜 클래스는 단일 상속만 가능한데, 인터페이스는 2개 이상 구현이 가능할까요?
동기화 클래스
CountDownLatch
The text was updated successfully, but these errors were encountered: