좋아요!
정답률 70%
문제별 결과
Java에서 Pattern Matching for instanceof(Java 16)로 캐스팅 없이 타입을 사용할 수 있다.
if (obj instanceof String s) { s.length(); }로 캐스팅 없이 바로 사용합니다.
Java에서 int와 Integer는 완전히 동일하다.
int는 기본 타입이고 Integer는 래퍼 클래스입니다. Integer는 null이 가능하고 컬렉션에서 사용됩니다.
Java에서 super 키워드는 부모 클래스를 참조한다.
super.method()로 부모 메서드를 호출하고, super()로 부모 생성자를 호출합니다.
Java에서 String의 + 연산은 항상 새로운 String을 생성한다.
Java 컴파일러는 String + 연산을 StringBuilder로 최적화합니다. 루프 내에서는 직접 StringBuilder 사용을 권장합니다.
Java에서 Checked Exception은 반드시 try-catch로 처리해야 한다.
throws 키워드로 호출자에게 예외를 전파할 수도 있습니다. try-catch가 유일한 방법은 아닙니다.
Java에서 float과 double은 정확한 소수점 계산을 보장한다.
float/double은 IEEE 754 부동소수점으로 정확한 소수 계산이 불가능합니다. BigDecimal을 사용해야 합니다.
Java에서 volatile 키워드는 변수의 가시성을 보장한다.
volatile은 변수가 메인 메모리에서 읽고 쓰도록 하여 스레드 간 가시성을 보장합니다.
Java에서 StringBuilder와 StringBuffer는 동일하다.
StringBuffer는 synchronized로 스레드 안전하고, StringBuilder는 스레드 안전하지 않지만 더 빠릅니다.
Java에서 Checked Exception은 반드시 처리하거나 선언해야 한다.
IOException 등 Checked Exception은 try-catch로 처리하거나 throws로 선언해야 합니다.
Java에서 static 메서드는 오버라이딩할 수 있다.
static 메서드는 오버라이딩이 아닌 하이딩(hiding)됩니다. 다형성이 적용되지 않습니다.