1) List: 순서가 있고 중복을 허용하는 자료구조
데이터를 앞에서 추가하거나 삭제할 때 빅오: ArrayList: O(n), LinkedList: O(1)
컴파일 타임 vs 런타임 의존관계
의존관계: 어떤 클래스가 다른 클래스를 사용하고 있다는 관계
컴파일 타임 의존관계: 코드 작성 시점에 나타나는 관계로 자바 컴파일러가 보는 의존관계

인터페이스 MyList를 쓴 것 -> 유연한 설계가 가능함 (OCP 원칙)
전략패턴: 실행 시점에 알고리즘(혹은 구현체)을 바꿀 수 있게 하는 디자인 패턴
컴파일 타임엔 인터페이스(MyList)만 보고, 런타임엔 실제 구현체(MyArrayList or MyLinkedList)를 주입해서 동작함
List: 순서가 중요한 이벤트 목록
Set: 회원 ID 집합, 고유한 항목의 집합
2) Collection
: 인터페이스로 List, Set, Queue와 같은 다양한 하위 인터페이스와 함께 사용된다.
스프링 프로젝트를 하다보면 자바 문법의 한계를 느껴서 강의록으로 공부한 내용들이다.
아무래도 코테는 C++로 준비하고 있다보니 자바 자료구조는 이정도까지 하고 프로젝트에 필요한 문법들을 중점으로 앞으로 공부해보려고 한다.
'Spring' 카테고리의 다른 글
[8] 자바 고급 문법 - 람다 & 스트림 (0) | 2025.03.31 |
---|---|
[7] 자바 고급 문법 - 문자 (0) | 2025.03.28 |
[5] 자바 중급 문법 - ArrayList (0) | 2025.03.28 |
[4] 자바 중급 문법 - Generic (0) | 2025.03.26 |
[3] 자바 중급 문법 3 -- 날짜와 시간 (0) | 2025.03.21 |