면접 - 자바 54

개발자 면접 질문 - Static 정의

1. Static - static 키워드를 쓰면 객체를 생성하지 않아도 static 변수나 static 함수를 사용할 수 있다. - 인스턴스를 생성하면 각 인스턴스는 서로 독립적이기 때문에 서로 다른 값을 유지한다. - 각 인스턴스들이 공통적으로 같은 값이 유지되어야 하는 경우 static을 붙인다. - static 이 붙은 메서드 에서는 인스턴스 변수를 사용할 수 없다. - 메서드 내에서 인스턴스 변수를 쓰지 않는다면 가능하면 static을 붙이는게 호출 시간이 짧아지기 때문에 효율이 높아진다. * 클래스 설계시 static 사용 지침 - 클래스의 멤버변수 중 모든 인스턴스에 공통된 값을 유지해야 하는 것이 있으면 static 을 사용 - 메서드 중에서 인스턴스 변수를 사용하지 않는 메서드는 stati..

면접 - 자바 2020.12.03

개발자 면접 질문 - 자바의 특징

1. 특징 - 객체 지향 언어 - 가비지 컬렉션에 의한 메모리 자동 관리 - 멀티 쓰레드 지원 - JVM 위에서 동작하기 때문에 특정 OS에 종속적이지 않고 이식성이 좋으며 보안성이 좋다. - 다양한 Open 라이브러리가 있다. 1) 상속 - 부모 Class 를 자식이 접근할 수 있도록 물려 받는 방식 2) 추상화 - 객체들의 공통된 특성들을 파악하고 불필요한 특성은 제거하는 과정 3) 캡슐화 - 필드와 메서드를 하나의 단위로 묶고 그 중 일부는 외부에서 사용하지 못하도록 숨긴다. 4) 다형성 - 한 타입의 참조 변수로 여러 타입의 객체를 참조할 수 있어 다양한 결과를 얻어내는 성질

면접 - 자바 2020.12.03

개발자 면접 질문 - HashMap, TreeMap, LinkedHashMap, CuncurrentHashMap 차이

1. HashMap - Hash 알고리즘에 의해 Get이 매우 빠르다. - 시간 복잡도 O(1) 2. TreeMap - Tree 알고리즘에 의해 Key, Value를 저장한다. - 키를 기준으로 오름차순으로 정렬되어 있다. - 시간 복잡도 O(logN) 3. LinkedHashMap - 링크드 리스트로 저장됨 - 입력된 순서대로 Key가 보장된다. - 시간 복잡도 O(n) 4. CuncurrentHashMap - 멀티쓰레드 환경이 지원되는 HashMap * 종합 - 특별한 이유가 없다면 검색 성능이 좋은 HashMap 사용 - 많은 데이터를 넣을 때는 TreeMap 성능이 좋지 않다. - 입력 순서가 의미있다면 LinkedHashMap이 좋지만, 많은 데이터가 입력 될 경우에는 성능이 좋지 않다. - 멀..

면접 - 자바 2020.12.03