728x90
반응형
💡 추상화
💬 추상클래스
- 미완성 설계도
- 추상메소드를 포함하고 있는 클래스
- 인스턴스를 생성할 수 없다
💬 추상메소드
- 선언부만 있고 구현부가 없는 메소드
- 추상클래스를 상속받는 자손클래스에서 추상메소드의 구현부를 완성해야 한다.
📃 추상클래스 예제
💾 소스코드
💬 조건
- int x, y와 stop()을 멤버로 하는 조상 클래스 Unit을 만든다.
- move(int x, int y) 메소드를 Unit의 추상메소드로 추가한다.
- Marine, Tank, DropShip 클래스가 Unit을 상속받도록 수정한다.
📂 marine 패키지
📝 Unit 클래스
package marine;
abstract class Unit{
int x, y;
abstract void move(int x, int y);
void stop() {}
}
📝 Marine, Tank, DropShip 클래스
package marine;
class Marine extends Unit{
@Override
void move(int x, int y) {
}
void steamPack() {
}
}
class Tank extends Unit{
@Override
void move(int x, int y) {
}
void changMode() {
}
}
class DropShip extends Unit{
@Override
void move(int x, int y) {
}
void unload() {
}
}
📃 인터페이스 예제
💾 소스코드
📂 button 패키지
📝 Button 클래스
package button;
public class Button {
int w = 0;
int h = 0;
String text = "";
Button(int w, int h) {
this.w = w;
this.h = h;
}
}
📝 ButtonCancel 클래스
package button;
public class ButtonCancel extends Button implements OnClickListener
{
ButtonCancel(int w, int h)
{
super(w, h);
text = "Cancel";
}
public void onClick()
{
}
}
📝 ButtonOK 클래스
package button;
public class ButtonOK extends Button implements OnClickListener
{
public ButtonOK(int w, int h)
{
super(w, h);
text = "OK";
}
public void onClick()
{
}
}
📝 OnClickListener 클래스
package button;
public interface OnClickListener
{
void onClick();
}
728x90
반응형
'Language > JAVA' 카테고리의 다른 글
JAVA 9일차 - 이벤트 리스너 (0) | 2022.06.30 |
---|---|
JAVA 9일차 - GUI 패키지, AWT, Swing 클래스 (0) | 2022.06.30 |
JAVA 8일차 - 다형성 (0) | 2022.06.29 |
JAVA 8일차 - 연습문제 (0) | 2022.06.29 |
JAVA 7일차 - 접근 제어자, 다형성 (0) | 2022.06.28 |
댓글