Skip to content

[현진][JAVA&OOP] 질문리스트 #5

@hgene0929

Description

@hgene0929

[현진][JAVA&OOP] 질문리스트

  • "플랫폼 독립적"이란 어떤 의미인가요?
  • 자바가상머신(JVM)의 구조와 실행순서를 말씀해주세요.
    • JVM 내부의 런타임 데이터 영역의 구조에는 어떤 것들이 있나요?
    • 메서드 영역의 Runtime Constant Pool 영역은 어떤 역할을 하나요?
    • 인터프리터(interpreter)와 JIT 컴파일러는 어떤 역할을 하는지 서로 비교하며 설명해주세요.

  • 가비지 콜렉터(Garbage Collector)는 어떤 역할을 수행하는지 말씀해주세요.
    • GC의 장점과 단점에는 각각 어떤 것들이 있나요?
  • GC 동작과정을 Heap 메모리의 구조와 함께 설명해주세요.
    • Minor GC와 Major GC의 차이점은 무엇인가요?
  • 리플렉션(Reflection)이란 무엇인가요?

  • ArrayList와 LinkedList의 차이점에는 어떤 것들이 있나요?
    • 각각의 자료형은 어떤 경우에 사용하는지 예시를 들어주세요.
  • List와 int[] 배열은 어떤 점에서 차이가 있나요?
    • List 타입의 동적 메모리 할당 방식을 설명해주세요.
  • Set 자료형을 사용하며 저장순서를 유지하고싶다면 어떤 타입을 사용하는게 좋을까요?
  • Iterator은 무엇인가요?
    • Map에서 Iterator 내부 기능을 사용할 수 없는 이유는 무엇인가요?

  • 제네릭(Generic)이란 무엇인가요?
    • 제네릭의 장점에 대해 아는대로 말씀해주세요.
  • 제네릭 사용시 primitive 타입을 Wrapper Class로 감싸주어야 하는 이유는 무엇인가요?
    • primitive 타입과 사용자 정의 타입(Wrapper Class)의 비교연산에 대해 둘을 비교하며 설명해주세요.
  • 애노테이션(annotation)을 사용하는 이유에는 어떤 것들이 있나요?

  • String과 StringBuffer, StringBuilder의 차이점은 무엇인가요?
    • Java에서 불변객체를 생성하기 위한 방법에는 어떤 것들이 있나요?
  • String 타입을 선언하는 2가지 방식을 서로 비교하며 소개해주세요.
  • StringBuffer와 StringBuilder의 차이점은 무엇인가요?
  • 직렬화(serialize)란 무엇인가요?

  • 오버라이딩(overriding)과 오버로딩(overloading)의 차이점은 무엇인가요?
  • 추상 클래스와 일반 클래스의 차이점은 무엇인가요?
    • 왜 추상 클래스를 사용할까요?
  • 추상 클래스와 인터페이스의 차이점에 대해 아는대로 말씀해주세요.
    • Java 8 이후의 인터페이스의 다중 상속에서 발생가능한 문제는 어떻게 해결할 수 있을까요?

  • Java의 main() 메소드는 왜 static으로 선언해야 하나요?
  • Java에서 상수를 static final로 선언해야 하는 이유는 무엇인가요?
  • Java의 final과 finally, finalllize() 에 대해 각각 설명해주세요.

  • Call by Reference 와 Call by Value 방식을 서로 비교하며 설명해주세요.
    • Java는 어떤 언어인가요?
  • Java에 존재하는 primitive 타입을 크기와 함께 모두 나열해주세요.
  • Java에서 null을 안전하게 처리하는 방법에 대해 아는대로 말씀해주세요.

  • Java의 체크 예외와 언체크 예외를 비교하여 설명해주세요.
  • Java 8에서 추가된 기능에는 어떤 것들이 있나요?
    • 람다(lambda)의 장점에는 어떤 것들이 있나요?
    • 함수형 인터페이스는 무엇인가요?
    • stream api의 내부 반복연산의 동작과정에 대해 설명해주세요.

  • Java가 가진 객체지향 4가지 특성에는 어떤 것들이 있나요?
  • 결합도와 응집도란 무엇인가요?
  • SOLID 원칙이란 무엇인지 상세히 설명해주세요.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions