study/CS

CS 면접 예상 질문 - Java(1)

으녕오리 2025. 2. 25. 11:32

싱글톤 패턴이란 무엇인가요?

더보기

-> 하나의 클래스에서 단 하나의 객체만 생성되도록 보장하는 디자인 패턴입니다.
주로 전역 상태 관리나 자원 절약을 위해 사용됩니다.

 

JVM이 무엇인가요?

더보기

-> Java Virtual Machine의 약자로, 자바 바이트코드를 실행하는 가상 머신입니다.
자바 프로그램이 플랫폼 독립적으로 실행될 수 있도록 해줍니다.

 

자바 메모리 영역에 대해서 설명해주세요.

더보기

-> JVM은 메소드 영역, 힙 영역, 스택 영역, PC 레지스터, 네이티브 메소드 스택으로 구성됩니다.

클래스 정보와 메서드는 메소드 영역, 객체는 힙, 지역 변수와 호출 정보는 스택에 저장됩니다.

 

오버로딩과 오버라이딩의 차이점을 설명해주세요.

더보기

-> 오버로딩은 같은 이름의 메서드를 여러 개 정의하는 것이고, 오버라이딩은 부모 클래스의 메서드를 자식 클래스에서 재정의하는 것입니다.

오버로딩은 메서드의 재사용성과 효율성을 높이기 위해 사용되며, 오버라이딩은 다형성을 구현할 수 있게 합니다.

다형성을 통해 코드의 재사용성과 유연성이 증가됩니다.

  • 다형성이란?
    -> 다형성이란 같은 기능을 여러 방식으로 사용할 수 있는 객체 지향 프로그래밍의 특징입니다.
  • 오버로딩과 오버라이딩의 조건에 대해 한 가지씩 설명해 주세요.
    -> 오버로딩은 메서드의 매개변수 타입, 개수, 순서가 달라야 하고, 
    오버라이딩은 부모 클래스의 접근 제어자보다 좁은 범위로 변경할 수 없으며,
    예외는 부모 클래스보다 많이 선언할 수 없습니다.
  • 오버로딩과 오버라이딩의 바인딩 시점에 대해 설명해주세요.
    -> 오버로딩은 컴파일 시점에 바인딩 되고, 오버라이딩은 런타임 시점에 바인딩 됩니다.

 

클래스, 객체, 인스턴스의 차이점

더보기

-> 클래스는 객체를 만들기 위한 설계도이고,

객체는 클래스를 기반으로 생성된 구체적인 실체 이며,
인스턴스는 메모리에 할당된 객체를 의미하는 용어로, 객체와 거의 같은 개념이지만 특정 클래스의 실체임을 강조할 때 사용됩니다.

 

원시 타입과 참조 타입의 차이점

더보기

-> 원시 타입은 int, double, boolean 등 메모리에 직접 값이 저장되는 타입이고,
참조 타입은 String, 배열, 객체 등 값이 있는 주소를 참조하는 타입입니다.