티스토리 뷰

728x90

추상 메서드

- 선언부만 작성하고 구현부는 비워둔 미완성 메서드

- 메서드의 기능을 통일하고 자식 클래스가 구현하도록 한다.

- 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개 이상 조합 시 _사용

- 인터페이스의 상수 사용 시 : 인터페이스이름.상수이름

 

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/05   »
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
글 보관함