CS/Java

[CS/JAVA] 리플렉션(Reflection) / Error와 Exception의 차이 / CheckedException과 UnCheckedException의 차이

dbfl9911 2025. 1. 23. 23:08
반응형

 


 

 

• 리플렉션(Reflection)이란 무엇인지 설명해주세요.

  • 리플렉션이란 구체적인 클래스 타입은 알지 못해도 그 클래스의 메소드, 타입, 변수들에 접근할 수 있도록 해주는 자바 API 입니다. 

 

 

• 리플렉션은 어떤 경우에 사용되는지 설명해주세요.

  • 코드를 작성할 시점에는 어떤 타입의 클래스를 사용할지 모르지만, 런타임 시점에 지금 실행되고 있는 클래스를 가져와서 실행해야 하는 경우 사용됩니다. 
  • 프레임워크나 IDE에서 이런 동적인 바인딩을 이용한 기능을 제공합니다. intelliJ의 자동완성 기능, 스프링의 어노테이션이 리플렉션을 이용한 기능이라 할 수 있습니다. 

 

 


 

 

• Error와 Exception의 차이를 설명해주세요.

  • Error는 실행 중 일어날 수 있는 치명적 오류를 말합니다. 컴파일 시점에 체크할 수 없고, 오류가 발생하면 프로그램은 비정상 종료되며 예측 불가능한 UncheckedException에 속합니다. 
  • 반면, Exception은 Error보다 비교적 경미한 오류이며, try-catch를 이용해 프로그램의 비정상 종료를 막을 수 있습니다. 

 

 


 

 

• CheckedException과 UnCheckedException의 차이를 설명해주세요. 

  • CheckedException은 실행하기 전에 예측 가능한 예외를 말하고, 반드시 예외 처리를 해야 합니다. 
  • (대표적인 CheckedException : IOException, ClassNotFoundException 등) 
  • UnCheckedException은 실행하고 난 후에 알 수 있는 예외를 말하고, 따로 예외 처리를 하지 않아도 됩니다.
  • (대표적인 UnCheckedException : NullPointerException, ArrayIndexOutOfBoundException 등)
  • RuntimeException은 UnCheckedException을 상속한 클래스이고, RuntimeException이 아닌 것은 CheckedException을 상속한 클래스입니다. 

 

 



* 위 글은 아래 문서를 참고해 작성했습니다. 

https://dev-coco.tistory.com/153

 

신입 개발자 기술면접 질문 정리 - 자바

💡 Java의 특징을 설명해주세요.Java는 객체지향 프로그래밍 언어입니다. 기본 자료형을 제외한 모든 요소들이 객체로 표현되고, 객체 지향 개념의 특징인 캡슐화, 상속, 다형성이 잘 적용된 언어

dev-coco.tistory.com


 

review 1회독 2회독 3회독 4회독 5회독
check ✅(2/11)        

 

반응형