[국비 학원 기록/자바]객체지향(OOP) 08.추상클래스, 인터페이스
my code archive
article thumbnail
반응형
abstract -- 추상적인, 미완성의

1)클래스 앞에 붙을 때 : 클래스 내에 추상메서드가 존재하는 클래스임.

2)메서드 앞에 붙을 때 : 선언부만 존재하고 구현부가 없는 추상 메서드임.

 

추상 클래스란?

1)개념

  -완성되지 않은 설계도

  -인스턴스를 생성할 수 없음.

    =>상속을 통해 자손클래스에서 추상메서드를 다 구현해야 비로소 인스턴스 생성할 수 있음.

  -추상메서드(선언부만 존재)를 최소 1개 이상 포함하고 있는 클래스.

  -다른 클래스를 작성하는데 도움을 줄 목적으로 이용됨.

 

추상 메서드란?

1)메서드의 선언부만 있고 구현부(정의부, 몸통)이 없는 메서드를 말함.

public abstract void power(String name);

2)자손마다 다르게 구현될 것이라고 예상될 때 사용함.

3)추상클래스를 상속받는 자손 클래스는 조상의 추상 메서드의 구현부를 완성해야

인스턴스를 생성할 수 있음, 일부만 구현하는 경우도 있음.

 

추상 클래스의 작성

1)공통적으로 사용될 것이라고 예상되는 것을 모아서 하나의 추상클래스로 만듦.
2)코드 중복 제거됨.
3)한 곳에서 관리가 됨.
4)오류가 줄어듦.

 

인터페이스

1)일종의 추상클래스이긴 하나 멤버의 주류가 추상 메서드임.

2)객체 사용 설명서.

3)인터페이스 멤버

-추상 메서드--인터페이스의 본질

-상수 (static final) -- 부수적 개념

-static 메서드

-default 메서드

-private 메서드

4)생성자가 없음. ==> 인스턴스를 만들 수 없음.

5)클래스 작성에 도움을 줌.

6)표준을 제시하여, 그 규칙에 맞게 구현하도록 함.

 

인터페이스 작성

1)class대신 interface를 사용함.

public interface A {
  int a=10;                     //static final 속성 생략됨.
  void method( );
}

2)상수는 static final 속성을 지니고 있으며,

  추상메서드는 abstract 속성을 지님. 생략 가능(컴파일러가 알아서 추가해줌)

3)인터페이스도 클래스와 동일하게 상속이 가능함.(다중 상속 가능)

4)다형성 개념이 적용됨.

5)클래스 상속은 extends를 사용하는데 인터페이스는 implements 를 사용함.

6)구현 클래스는 반드시 인터페이스에 선언되어 있는 추상 메서드를 재정의해야 함.

 

인터페이스 ex01.

 

extends 대신 implements

인터페이스 ex02.

구현 클래스는 반드시 인터페이스에 선언되어 있는 추상 메서드를 재정의(오버라이딩)해야 함.
안 하면 빨간줄 뜸.

반응형
profile

my code archive

@얼레벌레 개발자👩‍💻

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!

반응형