본문 바로가기
Language/JAVA

JAVA 9일차 - Abstract(추상화), Interface(인터페이스)

by 코젼 2022. 6. 30.
728x90
반응형

💡 추상화

💬 추상클래스
- 미완성 설계도
- 추상메소드를 포함하고 있는 클래스
- 인스턴스를 생성할 수 없다

💬 추상메소드
- 선언부만 있고 구현부가 없는 메소드
- 추상클래스를 상속받는 자손클래스에서 추상메소드의 구현부를 완성해야 한다.

📃 추상클래스 예제

💾 소스코드

9_abstract.zip
0.00MB


💬 조건
- 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() {
	}
}

📃 인터페이스 예제

💾 소스코드

10_interface.zip
0.00MB


📂 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 10일차 - 마우스 이벤트 리스너  (0) 2022.07.01
JAVA 9일차 - 이벤트 리스너  (0) 2022.06.30
JAVA 8일차 - 다형성  (0) 2022.06.29
JAVA 8일차 - 연습문제  (0) 2022.06.29
JAVA 7일차 - 접근 제어자, 다형성  (0) 2022.06.28

댓글