Abstract(추상클래스)

JK·2022년 12월 22일
0

JAVA

목록 보기
13/28
post-thumbnail

🚩추상클래스

🎃1. 추상클래스란

  • 한 클래스를 추상적으로 정의하고 객체를 사용할 때 사용자가 추상클래스를 재정의(override) 하여 사용
  • JAVA프로그램에서도 강제로 부모클래스에서 자식클래스에게 메소드를 강제로 재정의(override)하게 할 수 있다.
    그리고 이러한 방법으로 만들어진 클래스를 ‘추상클래스’라고 합니다.

🎃2. 추상클래스의 문법

  1. abstract(추상클래스 및 추상 메소드를 선언하는 예약어)이용
	public abstract class ClassName {
		…
	}
  1. 추상클래스에는 하나 이상의 추상 메소드가 포함. 추상메소드는 정의만 하고 구현 x
  2. 추상메소드에는 메소드의 선언부만 있고 실행부(구현부, Body)는 없다
    abstract 리턴타입 methodName([매개변수])
  3. 추상 클래스에서는 메소드 선언만 하고 실제로 구현은 상속받는 클래스에서 한다.
    기능는 자식 클래스에게 위임 - 추상클래스에서 정의된 추상적인 기능은 하위 클래스에서 상세 구현
  4. 클래스의 프레임만 구성. 직접 객체 생성 불가능

🎃3. 필요성

  • 강제성을 느낄 때 사용
  • 프로그래밍의 추상은 일상의 추상과 같다.
  • 어떤 메소드를 추상적으로 정의만 해놓고, 실제 필요한 클래스에서 재정의하여 사용
  • 부모클래스를 상속받은 자식클래스에서 강제로 어떤걸 재정의하여 사용할 경우 사용

🎃4. 추상클래스 상속과 일반적인 상속의 차이

부모 클래스의 메소드를 자식 클래스에서 변경할 일이 없다면 일반적인 상속
변경할 일이 있다면 추상클래스를 상속받아 재정의한다

🎃5. final(제한자)

⑴ 클래스 앞에 붙일 경우 : 상속 금지

    public final class Test {

	}

⑵ 멤버 메소드 앞에 붙일 경우 : 오버라이딩 금지

    public final void print(){
	
	}

⑶ 멤버변수 앞에 붙일 경우 : 상수화된다(변경금지).
public final int PORT_NUMBER = 80;

profile
씨앗 개발자

0개의 댓글