코드 그라데이션
스프링 개발을 위한 기초 지식(Java) 본문
인터페이스
: Java에서 클래스에 포함하는 메서드의 구체적인 내용을 작성하지 않고 상수와 메서드 타입만 정의한 것을 말한다.
- 인터페이스는 다른 클래스에서 구현하는 것을 전제로 만들어진다.
- 그래서 인터페이스를 선언한 메서드는 암묵적으로 public abstract 접근 제어자가 붙은 추상 클래스라고 불린다.
- 인터페이스를 구현할 때는 implements 키워드를 사용한다.
- 인터페이스로 정의되는 추상 메서드를 모두 구현할 필요가 있어 구현하지 않는 경우에는 컴파일 에러가 발생한다.
- 인터페이스의 추상 메서드는 암묵적으로 public abstract 한정자가 붙기 때문에 구현할 때는 public을 선언해 둘 필요가 있다.
@Override
: 슈퍼 클래스나 인터페이스의 메서드를 상속 혹은 구현하는 클래스에서 재정의하는 것.
--> 재정의 되지 않으면, 에러가 발생.
리스트 -> 자바에서는 복수의 데이터를 더 쉽게 사용할 수 있는 컬랙션 클래스를 제공
컬랙션의 종류
1) List : 순서대로 데이터를 저장. 데이터의 중복을 허용함.
2) Set : 순서를 유지하지 않는 집합. 중복을 허용하지 않는다.
3) Map : '키' - '값'의 쌍으로 이루어진 데이터의 집합
- 순서는 유지되지 않고, 키의 중복은 허용하지 않되, 값의 중복을 허용.
<List Interface의 구현 클래스>
구현 | 개요 |
ArrayList | - 리스트 인터페이스의 구현 클래스에서 가장 많이 사용된다. - 요소를 배열로 유지하기 때문에 검색을 고속으로 처리할 수 있지만, 요소의 수가 많아지면 추가/.삭제를 처리하는 데 시간이 걸린다. |
LinkedList | - 요소끼리 전후 양방향의 링크로 참조하는 리스트 구조를 이용해 관리하기 때문에 요소의 추가나 삭제가 ArrayList보다 빠르다. - 특정 요소 검색 등 인덱스 값에 의한 무작위 액세스에는 적합하지 않다. |
- List에 넣을 수 있는 형태를 제한하는 것이 바로 '제네릭(Generic)'. 아래에서 <String> 부분을 제네릭이라고 한다.
List<String> names = new ArrayList<>();
// List는 여러 데이터를 다룰 때 자주 사용한다.
// 그리고 제네릭은 List를 사용할 때 대부분 함께 적는다.
728x90
'Spring > 핵심 가이드' 카테고리의 다른 글
데이터베이스, 테이블, 엔티티, 리포지토리 (0) | 2023.01.14 |
---|---|
DI 컨테이너와 이것의 다섯가지 규칙 (0) | 2023.01.14 |
핵심 가이드 - 의존성 주입, 관점 지향 프로그래밍 (0) | 2023.01.14 |
스프링 프레임워크의 구성 및 장점 (0) | 2023.01.14 |
웹 애플리케이션 만들기의 필수 도구 (0) | 2023.01.14 |
Comments