20230608 공부노트

라영진·2023년 6월 8일
0

Java 학습일지

목록 보기
11/35

자바 인터페이스는 클래스와 클래스 사이 또는 클래스와 인터페이스 사이의 계약(Contract)을 정의하는 추상화된 타입입니다. 인터페이스는 일련의 메서드 선언과 상수를 포함할 수 있으며, 구현체에 특정한 동작을 강제하거나 관련된 클래스들 간의 공통된 동작을 정의하는 데 사용됩니다.

인터페이스는 다음과 같은 특징을 가지고 있습니다:
1.추상화된 타입: 인터페이스는 객체의 동작에 대한 추상화된 타입을 제공합니다. 클래스가 인터페이스를 구현(Implements)하면, 해당 클래스는 인터페이스가 정의한 동작을 구현해야 합니다.

2.다중 상속 가능: 클래스는 하나의 클래스만 상속받을 수 있지만, 인터페이스는 여러 개를 구현할 수 있습니다. 이를 통해 다중 상속을 흉내낼 수 있습니다.

3.메서드 선언: 인터페이스는 메서드의 선언부만을 포함하며, 구현부는 없습니다. 이는 인터페이스를 구현하는 클래스가 해당 메서드를 반드시 구현해야 함을 의미합니다.

4.상수 선언: 인터페이스는 상수를 선언할 수 있습니다. 이러한 상수는 자동으로 public static final로 선언된 상수로 간주됩니다.

5.계약의 역할: 인터페이스는 클래스 간의 계약(Contract)을 정의합니다. 인터페이스를 구현하는 클래스는 인터페이스에서 정의한 동작을 준수해야 하며, 이를 통해 일관된 동작을 보장하고 코드의 유지보수성을 향상시킬 수 있습니다.

인터페이스는 다형성을 구현하는 데 중요한 역할을 합니다. 클래스가 인터페이스를 구현하면, 해당 인터페이스를 타입으로 하는 변수에 그 클래스의 인스턴스를 할당할 수 있습니다. 이를 통해 프로그램은 더 유연하고 확장 가능한 구조를 가질 수 있습니다.

인터페이스는 구현과 형식을 분리(형식만)
추상메서드 - > 내용 없는 메서드(반드시 오버라이딩 해야됨)

배열 사용 ->
-길이 제한, 예외 발생.
-길이를 100을 잡으면.
-배열은 삭제나 추가 개념이 없다.

-> ArrayList,HashMap 으로 해결

ArrayList,HashMap

// 추가, 수정, 삭제, 조회, 사이즈만 알면 사용하는데 큰 지장 없음.

// 추가 - add
// add한번에 값 하나

// 조회 - get, 인덱싱

//수정 - set(위치, 값)
//arr[0] = 200;

//삭제 - remove(값), remove(위치)
// 하나 삭제하면 뒤에 있는 애들이 땡겨진다.

// 순회

profile
보더콜리 2마리 키우는 개발자

0개의 댓글