티스토리 뷰
추상 메서드
- 선언부만 작성하고 구현부는 비워둔 미완성 메서드
- 메서드의 기능을 통일하고 자식 클래스가 구현하도록 한다.
- abstract키워드 붙여야한다.
- {}대신 ; 사용
- 형식) [접근제한자] abstract 반환타입 메서드이름(매개변수...);
public abstract void cry();
- 추상 메서드는 반드시 추상 클래스(abstract class) 안에 정의 되어야한다.
- 추상 메서드를 한 개 이상 사용했다면 그 클래스는 추상 클래스로 정의해야한다.
추상 클래스
- 클래스들의 공통 메서드를 추출해 선언해 자식 클래스에게 기본 틀과 공통 기능을 제공한다.
- abstract키워드가 붙은 클래스
- 하나 이상의 추상 메서드를 포함할 수 있지만 반드시 추상 메서드를 가져야하는 것은 아니다.
- 불완전하기 때문에 스스로 생성자를 통한 객체 선언이 불가능하다.
// 부모 클래스 객체화(x)
//Parents p = new Parents();
//자식 클래스 객체화
Child c = new Child();
//(info()는 부모 클래스의 메서드) 부모 클래스의 메서드에 접근
c.info()
- 위의 이유 때문에 자식 클래스의 생성자에서 super()를 통해 호출하고 부모 객체를 생성, 포함해 자식 객체를 생성해서 사용
인터페이스(interface)
- 구현 클래스들의 기본 틀도 제공하고 다른 클래스 코드들과 사이에서 매개 역할을 한다.( 항상 public구현 )
- 메서드가 모두 추상메서드이며 상수만 필드로 사용한다.
- 코드 중복을 최소화한다는 장점이 있다.
- 객체가 아니므로 생성자를 사용할 수 없다.
- 클래스가 아니다.( 추상 클래스는 자식을 통해서라도 객체 생성이 가능했지만 인터페이스는 완전 불가능 )
- 클래스에서 추상메서드를 구현한다. (implements사용) 그 클래스를 객체화해서 사용
- 형식)
public interface 인터페이스이름{
public abstract void 메서드이름(매개변수...);
}
- 추상 메서드의 public abstract 생략 가능
다중 인터페이스
- implements 뒤에 여러 개의 인터페이스 이름 작성
인터페이스 상속
- extends 사용
- 여러 개의 인터페이스를 하나의 인터페이스로 만들어 사용
- 인터페이스끼리만 상속이 가능하다.( 다중 상속 가능 )
- 상속을 통해 기존 인터페이스에 새로운 규격을 추가한 새로운 인터페이스를 만들 수 있다.
상수
(public static final)*생략가능 int PI = 3.14;
- 고정된 값
- 영문 대문자로 작성
- 2개 이상 조합 시 _사용
- 인터페이스의 상수 사용 시 : 인터페이스이름.상수이름
'JAVA' 카테고리의 다른 글
[JAVA] ch.14 예외처리 (0) | 2024.04.08 |
---|---|
[JAVA] ch.13 내부 클래스(인스턴스, 정적, 지역, 익명 클래스) (0) | 2024.04.07 |
[JAVA] ch.11 클래스 타입 변환, 다형성, instanceo, 오버로딩 오버라이딩 차이 (0) | 2024.04.06 |
[JAVA] ch.10 상속, super, 접근 제한자, 오버라이딩 (0) | 2024.04.03 |
[JAVA]메서드, getter/setter, 생성자, 매개변수, return, 오버로딩, this (1) | 2024.03.27 |
- Total
- Today
- Yesterday
- this
- 관계 연산자
- 서식문자
- 변수
- 제어문자
- 얕은복사
- 자바 출력문
- getter
- 배열
- 부호 연산자
- 삼항 연산자
- SETTER
- 비트 연산자
- 자료형
- 논리 연산자
- 오라클
- 메서드
- 생성자
- dbms
- 깊은복사
- 복합 대입 연산자
- Arrays클래스
- 자바 자료형
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |