2-1 자바 기초 지식 복습

고범규·2025년 6월 30일

Spring Framework

목록 보기
2/14

인터페이스란?

자바에서 클래스에 포함하는 메서드의 구체적인 내용을 작성하지 않고 상수와 메서드 타입만 정의한 것

인터페이스 선언


인터페이스는 다른 클래스에서 구현하는 것을 전제로 만들어짐.

이 때문에 인터페이스를 선언한 메서드는 암묵적으로 public abstract 접근 제어자가 붙은 추상 클래스라고 불림.


위의 코드와 같은 의미

또한 인터페이스에 변수를 선언하면 암묵적으로 public static final 한정자가 붙어서 상수가 됨.

인터페이스 구현

인터페이스를 구현할 때는 implements 키워드를 사용함.

또한 인터페이스로 정의되는 추상 메서드를 모두 구현할 필요가 있어 구현하지 않는 경우에는 컴파일 에러가 발생함.

인터페이스의 추상 메서드는 암묵적으로 public abstract 한정자가 붙기 때문에 구현할 때는 public을 선언해 둘 필요가 있음.

Override는 슈퍼 클래스나 인터페이스의 메서드를 상속 혹은 구현하는 클래스에서 재정의하는 것.

재정의되어 있지 않으면 에러가 발생.

리스트란?

배열은 길이가 정해져 있기 때문에 요소를 추가하거나 삭제하기가 번거로움.

자바에서는 복수의 데이터를 더 쉽게 사용할 수 있게 하는 컬렉션(Collection)이라는 클래스를 제공.

컬렉션(Collection)

  1. 리스트(List): 순서대로 데이터를 저장. 데이터의 중복을 허용
  2. 세트(Set): 순서를 유지하지 않는 집합. 중복을 허용하지 않음
  3. 맵(Map): 키와 값의 쌍으로 이루어진 데이터 집합. 순서는 유지되지 않고 키의 중복을 허용하지 않으며 값의 중복을 허용

이러한 컬렉션의 모음을 컬렉션 프레임워크라고 함.

List 인터페이스의 구현 클래스

ArrayList

-List 인터페이스의 구현 클래스에서 가장 많이 사용됨.

-요소를 배열로 유지하기 때문에 요소의 검색을 고속으로 처리.

-요소의 수가 많아지면 추가/삭제를 처리하는 데 시간이 걸림.

LinkedList

-요소끼리 전후 양방향의 링크로 참조하는 리스트 구조를 이용해 관리하여 요소의 추가나 삭제가 상대적으로 빠름.

-특정 요소 검색과 같은 인덱스 값에 의한 무작위 액세스에는 적합하지 않음.

List에 넣을 수 있는 형태를 제한하는 것이 제네릭(Generic).

아래에서 String 부분이 제네릭
List<String> names= new ArrayList<>():

0개의 댓글