-
[CS/JAVA] 리플렉션(Reflection) / Error와 Exception의 차이 / CheckedException과 UnCheckedException의 차이CS/Java 2025. 1. 23. 23:08
• 리플렉션(Reflection)이란 무엇인지 설명해주세요.
- 리플렉션이란 구체적인 클래스 타입은 알지 못해도 그 클래스의 메소드, 타입, 변수들에 접근할 수 있도록 해주는 자바 API 입니다.
• 리플렉션은 어떤 경우에 사용되는지 설명해주세요.
- 코드를 작성할 시점에는 어떤 타입의 클래스를 사용할지 모르지만, 런타임 시점에 지금 실행되고 있는 클래스를 가져와서 실행해야 하는 경우 사용됩니다.
- 프레임워크나 IDE에서 이런 동적인 바인딩을 이용한 기능을 제공합니다. intelliJ의 자동완성 기능, 스프링의 어노테이션이 리플렉션을 이용한 기능이라 할 수 있습니다.
• Error와 Exception의 차이를 설명해주세요.
- Error는 실행 중 일어날 수 있는 치명적 오류를 말합니다. 컴파일 시점에 체크할 수 없고, 오류가 발생하면 프로그램은 비정상 종료되며 예측 불가능한 UncheckedException에 속합니다.
- 반면, Exception은 Error보다 비교적 경미한 오류이며, try-catch를 이용해 프로그램의 비정상 종료를 막을 수 있습니다.
• CheckedException과 UnCheckedExcepion의 차이를 설명해주세요.
- CheckedException은 실행하기 전에 예측 가능한 예외를 말하고, 반드시 예외 처리를 해야 합니다.
- (대표적인 CheckedException : IOException, ClassNotFoundException 등)
- UnCheckedException은 실행하고 난 후에 알 수 있는 예외를 말하고, 따로 예외 처리를 하지 않아도 됩니다.
- (대표적인 UnCheckedException : NullPointerException, ArrayIndexOutOfBoundException 등)
- RuntimeException은 UnCheckedException을 상속한 클래스이고, RuntimeException이 아닌 것은 CheckedException을 상속한 클래스입니다.
* 위 글은 아래 문서를 참고해 작성했습니다.https://dev-coco.tistory.com/153
신입 개발자 기술면접 질문 정리 - 자바
💡 Java의 특징을 설명해주세요.Java는 객체지향 프로그래밍 언어입니다. 기본 자료형을 제외한 모든 요소들이 객체로 표현되고, 객체 지향 개념의 특징인 캡슐화, 상속, 다형성이 잘 적용된 언어
dev-coco.tistory.com
반응형'CS > Java' 카테고리의 다른 글