추상메소드 편집하기
최신판 | 당신의 편집 | ||
50번째 줄: | 50번째 줄: | ||
} | } | ||
− | ===추상메소드 사용=== | + | ===추상메소드 사용<ref>나비와꽃기린, 〈[https://mkil.tistory.com/112 추상메소드/인터페이스]〉, 《개인블로그》, 2016-06-22</ref>=== |
====[[추상클래스]]==== | ====[[추상클래스]]==== | ||
추상메소드를 하나라도 가진 클래스로 추상메소드가 하나라도 있다면 클래스명 앞에 abstract 키워드를 선언해야 한다. | 추상메소드를 하나라도 가진 클래스로 추상메소드가 하나라도 있다면 클래스명 앞에 abstract 키워드를 선언해야 한다. | ||
− | 만약 추상메소드가 하나라도 있어서 추상클래스가 된다면 해당 클래스는 객체를 생성할 수 없다. | + | 만약 추상메소드가 하나라도 있어서 추상클래스가 된다면 해당 클래스는 객체를 생성할 수 없다. |
#추상클래스 | #추상클래스 | ||
public abstract class ClassA { | public abstract class ClassA { | ||
67번째 줄: | 67번째 줄: | ||
====[[인터페이스]]==== | ====[[인터페이스]]==== | ||
모든 메소드가 추상메소드인 클래스로 인터페이스명 앞에 interface 키워드를 선언해야한다. 인터페이스의 멤버는 상수와 메소드만 있으며 필드는 없다. | 모든 메소드가 추상메소드인 클래스로 인터페이스명 앞에 interface 키워드를 선언해야한다. 인터페이스의 멤버는 상수와 메소드만 있으며 필드는 없다. | ||
− | 인터페이스는 추상메소드를 포함하고 있어 객체를 생성할 수 없으며, [[다중상속]]을 지원한다. | + | 인터페이스는 추상메소드를 포함하고 있어 객체를 생성할 수 없으며, [[다중상속]]을 지원한다. |
#인터페이스 | #인터페이스 | ||
public interface InterfaceA { | public interface InterfaceA { | ||
79번째 줄: | 79번째 줄: | ||
====차이점==== | ====차이점==== | ||
:{|class=wikitable width=700 style="background-color:#ffffee" | :{|class=wikitable width=700 style="background-color:#ffffee" | ||
− | |||
!align=center style="background-color:#ffeecc"|추상클래스 | !align=center style="background-color:#ffeecc"|추상클래스 | ||
!align=center style="background-color:#ffeecc"|인터페이스 | !align=center style="background-color:#ffeecc"|인터페이스 | ||
104번째 줄: | 103번째 줄: | ||
* [[인터페이스]] | * [[인터페이스]] | ||
− | {{프로그래밍| | + | {{프로그래밍|토막글}} |