" async="async"> ', { cookie_domain: 'auto', cookie_flags: 'max-age=0;domain=.tistory.com', cookie_expires: 7 * 24 * 60 * 60 // 7 days, in seconds }); Java abstract 자바 추상클래스 추상 메서드 :: 일단

abstract = 추상

Java에서 abstract는 상속을 강제하는 일종의 규제이다.

abstract 클래스나 메서드를 사용하기 위해서는 반드시 상속해서 사용하도록 강제한다.

 

추상 클래스 사용방법

- 추상 클래스를 사용하기 위해서는 추상 클래스를 상속하는 다른 클래스를 정의하여 추상 메서드를 오버라이딩하여 사용한다.

- 추상 메소드에는 본체가 없다.(ex. public abstract int b();)

- 추상 클래스 내에는 추상 메서드가 아닌 메서드가 존재할 수 있다.

- 추상 메소드를 만들면 자동으로 그 클래스는 추상 클래스가 된다.

추상 클래스 사용하기

A 클래스는 b라는 추상 메서드를 가지고 있기 때문에 자동으로 추상 클래스가 된다.

추상 메소드인 b메서드에는 본체가 없다.(본체가 있으면 에러 발생)

추상 클래스는 추상 메서드(b)가 아닌 다른 메서드(d)를 가질 수 있다.

 

클래스 B는 추상 클래스 A를 상속하고 추상 메서드 b를 오버라이딩한다.

 

메인 메서드에서 B 클래스를 선언하여 사용할 수 있다. A클래스를 사용하면 에러가 발생한다. 꼭 A클래스를 상속하는 클래스를 사용해야 한다.(상속 강제)

 

추상 클래스를 사용하는 이유

상속을 강제하기 위한 것이다.

즉, 부모 클래스에는 메서드의 시그니처만 정의해 놓고 그 메서드의 실제 동작 방법은 이 메서드를 상속받은 하위 클래스의 책임으로 위임하고 있다.

 

공통적인 로직은 추상 클래스에 작성하고

하위 클래스에는 용도에 따라 달라지는 로직을 작성한다.

 

참고 : https://opentutorials.org/course/1223/6062

위 내용은 생활코딩 강의 내용을 정리한 것이다.

+ Recent posts