좋아요!
정답률 70%
문제별 결과
Java에서 String Pool은 문자열 리터럴을 재사용한다.
"hello" == "hello"는 String Pool에서 같은 참조를 공유하므로 true입니다. new String("hello")은 다른 참조입니다.
Java는 다중 상속을 지원한다.
Java는 클래스의 다중 상속을 지원하지 않습니다. 대신 인터페이스를 통해 다중 구현이 가능합니다.
Java에서 try-with-resources는 AutoCloseable 리소스를 자동으로 닫는다.
try (var stream = ...) { }는 블록 종료 시 자동으로 close()를 호출합니다.
Java에서 Map 인터페이스는 Collection 인터페이스를 상속한다.
Map은 Collection을 상속하지 않습니다. 별도의 인터페이스 계층구조를 가집니다.
Java에서 HashMap은 스레드 안전(thread-safe)하다.
HashMap은 스레드 안전하지 않습니다. 스레드 안전이 필요하면 ConcurrentHashMap을 사용합니다.
Java에서 String은 기본 타입(primitive)이다.
String은 참조 타입(Reference Type)입니다. 기본 타입은 int, boolean, char 등입니다.
Java의 record 클래스(Java 14+)는 불변 데이터 클래스를 간단히 정의한다.
record Point(int x, int y) {}는 생성자, getter, equals, hashCode, toString을 자동 생성합니다.
Java에서 synchronized는 공정한(fair) 잠금을 보장한다.
synchronized는 공정성을 보장하지 않습니다. 공정한 잠금이 필요하면 ReentrantLock(fair=true)을 사용합니다.
Java에서 Enum은 새로운 인스턴스를 생성할 수 있다.
Enum은 생성자가 private이며, 정의된 상수만 인스턴스로 존재합니다. new로 생성할 수 없습니다.
Java는 다중 상속을 지원한다.
Java는 클래스의 다중 상속을 지원하지 않습니다. 인터페이스를 통한 다중 구현만 가능합니다.