To Dare Is To Do!
자바 면접 스터디(2) 본문
String literal과 new String(””)의 차이를 설명해 주세요.
String literal은 String Constant Pool에 저장되어, 동일한 literal은 재사용됩니다.
new String(””)은 매번 새로운 String 인스턴스를 할당하므로 같은 문자열이어도 서로 다른 객체가 됩니다.
String, StringBuilder, StringBuffer의 차이점에 대해서 설명해주세요.
String은 불변 객체지만, StringBuilder와 StringBuffer는 가변 객체입니다. 또한, 멀티 스레드 환경에서 StringBuilder은 Thread-Safe하지 않지만 StringBuffer는 메서드들이 synchronized로 동기화되어 있어서 Thread-Safe하다는 차이가 있습니다.
https://whitehartlane.tistory.com/46
StringBuffer, StringBuilder, string
개요Java 에서 문자열을 다루는 대표적인 클래스로 연산이 많지 않을 때는 위에 나열된 어떤 동기화 방법을 사용하더라도 큰 문제가 발생할 가능성은 적으나 연산 횟수가 많아지거나 멀티스레드
whitehartlane.tistory.com
Exception과 Error의 차이는 무엇인가요?
Exception은 개발자가 구현한 로직에서 발생한 실수로 예외 처리를 해야 합니다.
반면, Error는 시스템이 종료되어할 수준의 수습 불가한 심각한 문제로 개발자가 예측하여 방지해야 합니다.
Exception 클래스의 예시를 말해주세요.
예외(Exception)은 Checked Exception과 Unchecked Exception으로 구분할 수 있다.
쉽게 말하자면, RuntimeException을 상속하지 않은 클래스는 Checked Exception,
반대로 상속한 클래스는 UnChecked Exception으로 분류할 수 있다.
Checked Exception과 Unchecked Exception의 차이는 무엇인가요?
Checked Exception은 RuntimeException을 상속하지 않은 클래스이며, 컴파일 단계에서 명시적인 예외 처리를 해야 합니다.
반면, Unchecked Exception은 RuntimeException을 상속한 클래스이며, 명시적인 예외 처리를 하지 않습니다.
주로, Checked Exception은 예외 복구가 가능한 경우 사용할 수 있습니다. 가령, 특정 이미지 파일을 찾아서 전송해 주는 함수에서 이미지를 못 찾으면 기본 이미지를 전송하는 방식입니다. 그 외에는 Unchecked Exception을 사용합니다.
https://whitehartlane.tistory.com/35
Checked Exception과 Unchecked Exception
주제인 Checked Exception과 Unchecked Exception에 대해 알아보기 전에 Error과 Exception에 대해 간단히 확인해보려고 한다. Error- 프로그램 실행 중 발생하는 예기치 않은 문제로, 주로 시스템 수준에서 발생
whitehartlane.tistory.com
throw와 throws의 차이는 무엇인가요?
throw는 예외를 실제로 발생시키는 데 사용되며, 메서드 내부에서 이용됩니다.
반면, throws는 메서드가 특정 예외를 던질 수 있음을 선언하기 위해 사용하며, 메서드 선언부에 사용됩니다.
try~catch~finally 구문에서 finally은 어떠한 역할을 하나요?
항상 실행되는 구문으로 주로 connection과 같은 자원을 해제하기 위해 사용합니다.
Throwable과 Exception의 차이는 무엇인가요?
Throwable은 하위 클래스로 Error와 Exception을 갖는 모든 오류와 예외의 슈퍼 클래스입니다.
Exception은 에러를 제외한 예외의 슈퍼 클래스입니다.
제네릭이란 무엇이고, 왜 사용할까요?
제네릭은 데이터 타입을 일반화하여 여러 타입 사용할 수 있도록 하는 기법입니다.
이를 통해 코드의 재사용성을 높이는 동시에 타입 안정성을 보장할 수 있습니다.
람다란 무엇인가요?
람다식은 메소드를 하나의 식으로 표현한 것을 말합니다.
그리고 람다식은 함수의 이름이 없기 때문에 익명 함수라고 부르며, 메소드의 매개 변수로 전달되거나 메소드의 결과로 반환될 수 있는 특징이 있어서 함수를 변수로 다룰 수 있다는 장점이 있습니다.
스트림이란 무엇인가요?
컬렉션의 저장 요소를 하나씩 참조해서 람다식으로 처리할 수 있도록 해 주는 내부 반복자를 말합니다.
외부 반복자는 개발자가 컬렉션을 조작하면서 처리 흐름을 제어하지만, 내부 반복자는 컬렉션 내부에서 흐름이 진행됩니다.
'Java' 카테고리의 다른 글
자바 면접 스터디(1) (0) | 2024.10.04 |
---|---|
java 면접 질문 공부 (1) | 2024.09.02 |
Stream (0) | 2024.08.07 |
thread pool (3) | 2024.08.06 |
hashcode(), equals() (0) | 2024.08.04 |