추상 클래스 & 추상 메소드

Jaho·2021년 8월 11일
0

추상 클래스 (abstract class)

  • new 연산자로 객체 생성 불가.
  • 추상 클래스를 상속받는 클래스는 추상 클래스가 선언한 추상 메소드를 반드시 재정의 해야한다.
  • 만약 재정의 하지 않는다면 상속받은 클래스는 추상 클래스가 된다.
    (객체 생성이 불가능) new 연산자 불가능

위 다이어그램을 참고하자.

public abstract class userName{}

userName이라는 추상 클래스를 선언

abstract class AA {
	public abstract void prn();
}

class BB extends AA {

	private int a;

	public int getA() {
		return a;
	}

	public void setA(int a) {
		this.a = a;
	}

	@Override
	public void prn() {
		System.out.println("prn'a =" + this.getA());
	}
}

Prn() 추상 클래스에 getter&setter의 getA()를 불러와서 재정의 (Override)

추상 메소드 (abstract method)

  • body{} 부분은 없고 메소드 선언만 있는 원형
public abstract void test();

{ } (중괄호) 없이 선언 한다.

메소드 오버라이딩 (method overrideing)

  • 상위 클래스에 정의한 메소드가 하위 클래스에서 구현 할 내용과 맞지 않을 경우에 하위 클래스에서 메소드를 재정의 하는일
  • 반환형,메소드 이름,매개변수 개수,매개변수 자료형이 반드시 같아야 한다.
profile
개발 옹알이 부터

0개의 댓글