#1 Collection 리스트 안의 요소들을 정렬하는 기능을 제공하고 있는 클래스 Set SortedSet List Queue Deque List 크기가 동적으로 변할 수 있는 배열이다. 순서가 있는 데이터의 집합을 다루는 데 사용되며, 데이터의 중복을 허용한다. public interface List extends Collection List 메소드 boolean add() / addAll(): 컬렉션에 요소를 추가 boolean contains() / containsAll(): 요소나 객체들이 컬렉션에 존재하는지 boolean isEmpty(): 컬렉션이 비어있는지 Object[] toArray(): 컬렉션의 데이터를 배열로 복사 List 구현체 ArrayList: 배열과 비슷한 구조를 띄는 클래스..
Backend/Java
제네릭이란? 클래스, 인터페이스, 메소드 정의 시에 타입을 파라미터로 받아 컴파일 시간에 타입 체크를 가능하게 하는 기능이다. 다양한 타입에 대해 동일한 코드를 재사용할 수 있어 안전성, 유지보수성이 향상된다. 자주 쓰이는 제네릭 타입 : Type : Element : Key : Value : Number 반드시 한 글자일 필요는 없으며, 임의로 작성해도 무방하나 통상적으로 위와 같이 사용한다. 선언 및 생성 // 클래스, 인터페이스 선언 public class ClassName { ... } public interface InterfaceName { ... } // 제네릭 타입 2개를 인자로 받는 경우 public class HashMap { ... } 제네릭 클래스의 사용 (객체 생성) 생성된 제네릭..
람다식이란? 단 하나의 추상 메소드를 가진 인터페이스 =함수형 인터페이스의 구현체를 만들 때 사용됨. 구조: (매개변수 목록) -> { 수행 될 문장; } // 매개변수가 없을 때 () -> System.out.println("Hello world"); // 매개변수 1개 x -> x * x (x) -> x * x // 매개변수 2개 이상 (x, y, z) -> x + y + z // 실행문이 여러 개 (x, y) -> { System.out.println("결과: " + (x + y)); } // 리스트 정렬 Collections.sort(list, (a, b) -> a.compareTo(b)); 익명 내부 클래스(인터페이스), 람다식 interface Adding { int add(int val1, ..
#1 접근 제어자 접근 범위 현재 클래스 같은 패키지 자식 클래스 (다른 패키지) 다른 패키지 public O O O O protected O O O X (default) O O X X private O X X X #2 기타 제어자 정의 사용 abstract 정의만 작성하고 내용은 자식 클래스에서 작성 구현 부분 없이 작성, {} 구현부 없이 ; 세미콜론으로 마무리 * 추상 메서드를 포함하는 경우 무조건 추상 클래스로 작성 static 각각의 객체가 아닌 클래스의 멤버 변수/메서드 클래스 자체에서 참조하여 사용 (클래스 내부의 경우 일반 멤버처럼 사용 가능) * static 메서드 내부에서는 static 멤버 변수만 참조 가능 final 더이상 변경 불가능한 멤버, 선언과 동시에 초기화 (상수) 자식 클..
싱글턴 패턴이란? 프로그램 전반에 이용될 인스턴스를 단 하나만 생성하는 디자인 패턴이다. 프로그램에 단 1개만 존재해야 하기 때문에 static 인스턴스로 선언, 데이터를 공유하는 데에 사용한다. > 하나의 인스턴스를 생성해서 여러 곳에서 공동으로 사용한다고 이해하면 될 것 같다. (ex: 관리자 개념) 싱글턴 클래스 코드 예시 public class Singleton { // 싱글턴 객체를 담는 변수 선언 private static Singleton singletonObject; // private 생성자 private Singleton() {} // 인스턴스 getter public static Singleton getInstance() { // 최초 1회 인스턴스 생성 if (singletonObj..