본문 바로가기

개발/인터뷰

자바 인터뷰 질문

1. 자바의 특징

  • 객체지향언어(Object-oriented)
  • OS로부터 자유로움. JVM만 설치되어있으면 어디서든 실행가능
  • 캡슐화 - 외부에서 내부의 내용을 확인 할 수 없음
  • 상속 - 한 객체를 새로운 객체가 상속받음
  • 다형성 - 한 객체가 서로 다른 객체로 재구성
  • 추상화 - 객체의 기능만 보여주고 세부 내용은 상속 받아 구현

2. 자바는 값에 의한 호출? 참조에 의한 호출?

  • 자바는 둘다 가능하다.

3. final 키워드란?

  • 클래스에 사용하면 해당 클래스는 상속 불가
  • 변수에 사용하면 해당 변수의 값을 변경 불가
  • 함수에 사용하면 해당 함수 오버라이드 불가
  • final 키워드는 한번 선언된 것을 변경되지 않기를 원할 때 사용

4. static import란?

  • 다른 클래스에 선언된 함수나 상수를 이용할 때 클래스 명을 빼고 사용할 수 있도록 함.

5. Enum이란?

  • 연관된 상수로 이루어진 모음

6. Reflection API란

  • 특정 클래스에 대해 모르더라도 해당 클래스의 선언된 함수, 변수 등에 접근할 수 있도록 하는 자바의 API

7. 마커인터페이스(marker interface)란?

  • 어떠한 추상메소드도 갖고 있지 않는 인터페이스로 클래스를 설명해주는 메타데이터라고 보면 된다. 마커 인터페이스의 대표적인 예로는 Serialiazable 인터페이스가 있다.

8. user thread와 daemon thread의 차이

  • user thread란 우리가 작성한 java 코드를 실행하면 생성되는 thread.
  • daemon thread란 user thread를 돕는 스레드로 user thread가 종료되면 같이 종료되며 백그라운드에서 계속 돌고 있는 thread

9. volatile 키워드란?

  • 해당 변수를 메인메모리에 직접 저장하고 읽어오겠다는 뜻. 
  • 사용은 특정 스레드만 읽기와 쓰기를 둘 다 하고 다른 스레드들은 읽기만 하는 경우

 

'개발 > 인터뷰' 카테고리의 다른 글

ES6 특징  (0) 2022.03.08