Java 추상(abstract) 클래스 + anonymous 클래스

Jay·2022년 1월 26일
0

Java

목록 보기
19/29

abstract


추상 클래스


기본형태

public abstract void 함수명();

추상 메소드를 하나라도 가지려면 class도 추상 클래스여야 한다.

Q : 추상클래스는 어떻게 사용하느냐
A : 상속을 받고 Override

Q2 : 기능이 덜 구현되어 있지 않느냐?
A2 : 추상클래스는 강제 상속이 되기때문에
단독으로 객체를 만들수 없고
그렇기에 자손클래스의 함수를 바로 사용할 수 있다.



abstract 객체 사용

abstract class 객체를 만들 수는 있지만
abstract로 구현된 함수는 사용할 수 없다. (사용하고 싶으면 상속)



예외사항

※(가정) abstract class weapon과 myweapon extends weapon이 있다.

Q :만약 myweapon에 오로지 weapon에서 override한 값 밖에 없다? (즉 추가 기능 없다?)

A : MyWeapon a = new MyWeapon도 가능하지만
Weapon a = new MyWeapon도 가능하며 오히려 이 방향으로 지향하는 편이다.





anonymous class


 new 클래스명() { 추가 or override 기능구현 }

생성자 뒤에 임의로 추가하는 클래스를 의미



기존의 abstract로 구현되었던 attack함수를 anonymous class로 구현한다면 별도의 상속 없이도 사용가능한 것을 볼 수 있음





함수 사용 주의사항


profile
데이터로 일하는 개발자

0개의 댓글