본문 바로가기
일상/유익

Java 개발자 면접시 나올법한 개념 질문들 정리

by 얏옹이 2023. 4. 17.
반응형
  • Java의 장단점
    • 장점
      • 플랫폼 독립성 : 하드웨어, 운영체제와 같은 플랫폼에 종속성이 있는것이 아닌, 독립적으로 실행 가능하기때문에 Java로 구현한 프로그램은 어떤 환경에서도 완벽히 동일하게 작동한다. Java는 자바 가상 머신(JVM : Java Virtual Mechine)을 기반으로 동작하기 때문에 독립적이다.
      • 객체 지향 언어 : (Object-Oriented-Languege), 실제 세계의 개념을 모델링하여 소프트웨어 개발을 하는 방법론. 코드를 객체화 하여 관리하고, 새로운 코드를 작성할때 기존의 코드를 재사용하여 코드를 쉽게 추가, 변경, 작성 할수 있다. 제어자와 메소드를 이용하여, 데이터를 보호하고. 올바른 값을 유지하도록 해주며, 코드의 중복을 최소화 하여 오동작을 방지할수 있다.
      • Java는 오픈소스이다 : 오픈소스란? 소스코드가 공개되어있어 누구나 자유롭게 사용하고 수정이 가능한 소프트웨어를 말한다. Java는 오픈소스라서 이용자들에 의해 기존문제가 해결되기도하고, 또한 편리한 부가 기능(예를 들면 라이브러리)들이 생겨나면서 사용자들에 의해 진화한다. 발전속도가 빠르고 정보를 얻기가 쉽다. 그리고 앞서 말한 오픈소스 라이브러리가 풍부해서 짧은 시간 내에 안정적인 어플리케이션 개발이 가능해진다.
      • 자동 메모리 관리 기능 : Garbage Collector라는 기능으로 구현된다. 객체가 프로그램에서 더이상 사용되지 않는다면, 자동으로 해당 객체를 제거 해준다. 이로인해 사용자는 메모리 관리를 신경쓰지 않고 비즈니스 로직 개발에만 힘쓸수 있게 된다.
    • 단점
      • 구동 속도가 느리다 : 한참 느리다는 말은 아니다. 다른 언어에 비해 느리다는 말인데, 이유는 위에서 언급한 JVM을 거쳐서 실행되기 때문이다. 따라서 처리 속도가 중요한 애플리케이션 개발에 Java는 맞지않는다. 또한 JVM을 거치기때문에 직접적으로 세밀한 하드웨어 조정을 해야하는 개발과도 어울리지 않는다.\
반응형
  • Java 컬렉션의 종류에 대해 말해보고, 대표적인 구현 클래스를 말해보시오
    • List - 순서가 있는 데이터의 집합으로 중복을 허용한다.
      • 대표 구현 클래스: ArrayList, LinkedList
    • Set - 순서가 유지되지 않는 데이터의 집합으로 중복을 허용하지 않는다.
      • 대표 구현 클래스: HashSet, TreeSet
    • Map - Key와 Value 쌍으로 이루어진 데이터의 집합이다. Key는 중복을 허용하지 않고 Unique하다. Value는 중복을 허용한다.
      • 대표 구현 클래스: HashMap, TreeMap
반응형