Java

· Java
지금까지 List를 생성할 때 대부분 new ArrayList()를 사용했었다. 회사에서 다른 분들의 코드를 보다가 Arrays.asList()를 이용한 부분이 있었고 참고해서 사용했는데, 차이점을 정확히 알고 싶어 정리하고자 한다. 1. 다른 class, 다른 return type 다른 class : new ArrayList()와 Arrays.asList()는 다음과 같이 class가 다르다. // new ArrayList() import java.util.ArrayList; // Arrays.asList() import java.util.Arrays; new ArrayList()는 ArrayList를 Arrays.asList()는 Arrays의 정적 클래스인 ArrayList를 리턴한다. 아래는 Ar..
· Java
HashMap과 HashSet을 사용하며 두 가지의 차이점에 대해 정리하고 싶었다. 간단하게 정리해보자. HashMap vs HashSet 차이점 1. 정의 HashMap : Map Interface의 구현체로 HashTable과 유사한 자료구조로 데이터를 저장한다. HashSet : Set Interface의 구현체로, 내부적으로 HashMap을 사용해 데이터를 저장하기 때문에 HashTable과 유사한 자료구조로 데이터를 저장한다고 할 수 있다. 2. 데이터 저장 형태 HashMap : key-value 형태로 데이터를 저장한다. 각 value들이 key에 mapping되어 있다. HashSet : 객체 그 자체를 저장한다. key 값으로는 삽입되는 객체 자체를, 내부 구현 코드에서 필드로 선언한 객..
· Java
이전 글에 이어서 이번 글에서는 접근 제어자에 대해 정리해보고자 한다. 접근제어자(access modifier) 멤버변수 또는 클래스에 사용되며 해당하는 멤버변수 또는 클래스를 외부에서 접근하지 못하도록 제한하는 역할을 한다. 클래스나 멤버변수, 메서드, 생성자에 접근 제어자가 지정되어 있지 않다면 default임을 의미한다. 종류 접근 제어자 같은 클래스 같은 패키지 자손 클래스 전체 private O X X X default O O X X protected O O O X public O O O O 그렇다면 접근 제어자를 사용하는 이유는 무엇일까? 이유에는 크게 2가지가 있다. 외부로부터 데이터를 보호하기 위해 외부에는 불필요하고, 내부적으로만 사용되는 부분을 감추기 위해 이것을 데이터 감추기(data..
· Java
매일 public과 private 제어자를 사용해 클래스나 메서드를 선언하는데, 이 둘을 주로 사용하다보니 다른 접근 제어자인 protected, default가 헷갈리기 시작해 정리하는 글이다. 이왕 정리하는 김에 접근 제어자 뿐만 아니라 그 외의 제어자에 대해서도 간략히 정리해보고자 한다. 제어자(modifier)란? 클래스, 변수 또는 메서드의 선언부에 사용돼 부가적인 의미를 부여한다. 종류 접근 제어자 : public, protected, default, private 그 외 제어자 : static, final, abstract, native, transient, synchronized, volatile, strictfp 하나의 클래스나 멤버변수, 메서드 등의 대상에 대해서 여러 제어자를 조합해 ..
토발자
'Java' 태그의 글 목록 (3 Page)