Java (50) 썸네일형 리스트형 어노테이션 Q1. 어노테이션이란 무엇인가? - @를 사용하며, 클래스나 메소드에 대한 메타데이터를 나타내기 위한 키워드이다. Q1-1. 메타데이터란 무엇인가? - Q2. 어노테이션의 기능은 무엇인가? - Q3. 자바 언어에 사용하기 위해서 정해져 있는 어노테이션은 몇 개 이고, 각각은 무엇인가? - 3개이다. 각각은 @Override, @Deprecated, @SuppressWarnings이다. Q4. @Override는 어떤 의미의 어노테이션인가? - @Override는 오버라이딩된 메소드를 나타내는데 사용한다. Q5. @Deprecated는 어떤 의미의 어노테이션인가? - @Deprecated는 더 이상 사용하지 않는 클래스나 메소드를 나타낼 때 사용한다. Q6. @SupressWarnings는 어떤 의미의 어.. ArrayList 클래스 Q1. ArrayList의 get 메서드는 어떻게 구현하는가? public get(int index){ if(index = size){ throw IndexOutOfBoundsException(); } return array[index]; } Q2. ArrayList의 set 메서드는 어떻게 구현하는가? public E set(int index, E element){ E old = get(index); array[index] = element; return old; } Q3. ArrayList의 indexOf 메서드와 equals 메서드는 어떻게 구현하는가? public E indexOf(Object target){ for(int i=0; i 참조 자료형 Q1. 기본 자료형과 참조 자료형의 가장 큰 차이는 무엇인가? - 기본 자료형과 달리 참조 자료형은 new를 통해 선언한다는 점이 차이점이다. Q2. new 없이도 객체를 생성할 수 있는 참조 자료형은 오직 무엇뿐인가? - String 클래스이다. Q3. 자바의 생성자는 무엇을 위해 존재하는가? - 객체를 생성하기 위해서 존재한다. Q4. Q5. DTO란 무엇인가? 그리고 VO란 무엇인가? 둘의 차이점은 무엇인가? - Data Transfer Object의 약자이다. VO는 Value Object의 약자이다. DTO는 주로 네트워크 상에서 데이터를 전송하는데 쓰이며, VO는 값을 저장하는데 쓰인다. Q6. MemberDTO 클래스는 어떻게 선언할 수 있는가? - 다음과 같이 선언할 수 있다. public.. 쓰레드 Q1. JVM은 기본적으로 아무런 옵션 없이 실행하면, 적어도 얼마의 물리 메모리를 점유하는가? - 32~64MB를 점유해야 한다. -> 프로세스 하나가 32~64MB를 점유한다는 것을 의미한다. Q1-1 WAS는 어디에서 생성한 무엇들이 수행되는 것인가? - JVM에서 생성한 쓰레드들이 수행되는 것이다 Q2. 쓰레드는 하나 추가하면 얼마의 메모리를 점유하는가? - 1MB를 점유한다. Q3. 쓰레드를 다른 말로 뭐라고 하는가? - 경량 프로세스(light-weight process)라고 한다. Q4. 요즘은 PC급의 장비도 두 개 이상의 코어가 달려 있는 어떤 시대인가? - 멀티 코어 시대이다. Q5. 대부분의 작업은 단일 쓰레드로 실행하는 것보다는 무엇으로 실행하는 것이 더 빠른가? - 멀티 쓰레드로 .. 람다 표현식 Q1. 기본 람다 표현식은 어떤 3부분으로 구성되는가? -> Q1-1 람다 표현식의 예시를 작성해보시오. Q1-2 람다 표현식은 무엇의 단점을 보완하기 위해 만들어졌는가? 그것의 단점은 무엇인가? -> 익명 클래스의 단점을 보완하기 위해 만들어졌다 익명 클래스는 가독성이 떨어진다는 점이 단점이다 Q2. Functional 인터페이스의 특징은 무엇인가? -> 메소드를 하나만 가진다는 특징이 있다. Q3. 자바 8에서 제공하는 주요 Functional 인터페이스는 어느 패키지에 있는가? -> java.util.function 패키지에 있다 Q4. 자바 8에서 제공하는 주요 Functional 인터페이스에는 무엇 무엇이 있는가? -> Predicate 인터페이스, Q5. Predicate 인터페이스에는 어떤 .. Java 8 전반(Optional 메소드, 디폴트 메소드 등) Q1. 람다나 스트림을 사용하면 코드의 무엇이 엄청 새롭게 변경되는가? -> 코드의 포맷이 엄청 새롭게 변경된다. -> 코드 작성을 더 간결하고 효율적으로 할 수 있다. Q2. Optional은 무엇을 편리하게 처리하기 위해서 만든 클래스인가? -> 객체를 편리하게 처리하기 위해서 만든 클래스이다. -> 객체의 Null 처리를 해준다. Q2-1 Optional을 사용한 예시 코드를 작성해보시오. import java.util.*; public class MemoryMemberRepository implements MemberRepository{ private static Map store = new HashMap(); @Override public Optional findById(Long id){ ret.. Serializable과 NIO Q1. Serializable는 언제 꼭 필요한가? - Q2. Serializable 인터페이스를 구현한 후에는 어떤 값을 지정해주는 것을 권장하는가? - Q3. serialVersionID라는 값은 어디에 사용되는가? - Q4. 클래스 이름이 같더라도 serialVersionID가 다르면 어떤 클래스로 인식하는가? - Q5. Serializable이 되어 있지 않으면 어떤 Exception이 발생하는가? - Q6. 객체를 저장하거나 다른 JVM으로 보낼 때, transient라는 예약어를 사용하여 선언한 변수는 무엇에서 제외되는가? - Q7. NIO에서 제공하는 Buffer는 어떤 클래스를 확장하여 사용하는가? - Q8. NIO를 제대로 이해하기 위해서는 어떤 3개의 값의 관계를 이해해야 하는가? - .. 컬렉션 프레임워크(List 인터페이스) Q1. 컬렉션 인터페이스의 하위에는 어떤 것이 있는가? - List 인터페이스, Queue 인터페이스, Set 인터페이스가 있습니다. Q2. List 인터페이스의 특징은 무엇인가? - 순서가 있는 자료를 저장한다는 특징이 있습니다. -> 또한, List 인터페이스는 값의 중복을 허용한다는 특징이 있습니다. -> 반면, Set 인터페이스는 순서에 상관 없이 값을 저장하고, 값의 중복을 허용하지 않는다는 특징이 있습니다. Q3. List 인터페이스를 구현한 클래스는 무엇이 있는가? - ArrayList 클래스, Vector 클래스, Stack 클래스, LinkedList 클래스가 있습니다. Q4. ArrayList 클래스를 사용하려면 어떤 선언을 해야 하는가? - import java.util.ArrayLi.. 컬렉션 프레임워크(Map 인터페이스) Q1. Map 인터페이스의 특징은 무엇인가? - Map 인터페이스는 key, value 쌍으로 데이터를 저장하는 인터페이스입니다. 이 때, key는 중복되어서는 안된다는 특징이 있습니다. Map 인터페이스를 구현한 대표적인 클래스로는 HashMap 클래스, TreeMap 클래스, LinkedHashMap 클래스 등이 있습니다. Q2. Map 인터페이스에 새로운 key, value를 넣기 위한 메소드는 무엇인가? - put() 메소드입니다. Q3. Map 인터페이스에 해당 key가 있는지 판단하기 위한 메소드는 무엇인가? - containsKey() 메소드입니다. Q4. Map 인터페이스에 해당 value가 있는지 판단하기 위한 메소드는 무엇인가? - containsValue() 메소드입니다. Q5. Ma.. 컬렉션 프레임워크(Set 인터페이스) Q1. Set 인터페이스의 특징은 무엇인가? - Set 인터페이스는 데이터를 1) 순서에 상관 없이 2) 중복 없이 저장하는 인터페이스입니다. Q2. Set 인터페이스를 구현한 클래스는 무엇이 있는가? - Set 인터페이스를 구현한 대표적인 클래스로는 HashSet 클래스, TreeSet 클래스, LinkedHashSet 클래스가 있습니다. Q3. Treeset 클래스는 어떤 자료 구조를 사용하는가? - 이진 탐색 트리, 정확하게는 Red-Black Tree를 사용합니다. Q4. HashSet, TreeSet, LinkedHashSet 3가지 클래스 중 어떤 것이 가장 성능이 좋은가? 그 이유는 무엇인가? - HashSet 클래스가 가장 성능이 좋다. 왜냐하면 HashSet 클래스는 데이터를 정렬 하지 .. 이전 1 2 3 4 5 다음