Java & Spring/Java

[Java] ์ธํ„ฐํŽ˜์ด์Šค

Rainbow๐ŸŒˆCoder 2022. 12. 14. 12:09
728x90

 

ํด๋ž˜์Šค ๋Œ€์‹  ์ธํ„ฐํŽ˜์ด์Šค ํ‚ค์›Œ๋“œ๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.

์ธํ„ฐํŽ˜์ด์Šค์—์„œ๋Š” ์„ ์–ธ์„ ์ œ๊ณตํ•˜๋Š” ๊ฒƒ์ด์ง€, ์ •์˜๋ฅผ ๋‚ด๋ฆฌ๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋‹ค.

public interface GamingConsole {
	public void up();
	public void down();
	public void left();
	public void right();

}

ํ•ด๋‹น ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๊ตฌํ˜„ํ•œ ํด๋ž˜์Šค๋ฅผ ํ•˜๋‚˜ ๋งŒ๋“ค์–ด์ค€๋‹ค.

public class MarioGame implements GamingConsole {

	@Override
	public void up() {
		System.out.println("Jump!");
		
	}

	@Override
	public void down() {
		System.out.println("Goes into a hole!");
		
	}

	@Override
	public void left() {
		
	}

	@Override
	public void right() {
		System.out.println("Go!");
	}

}

 

public class Hello {

	public static void main(String[] args) {
		MarioGame game = new MarioGame();
		game.down();
		game.left();
		game.up();
		game.right();
	}
}

์ •์ƒ์ ์œผ๋กœ ์ถœ๋ ฅ๋œ๋‹ค.

 

์ธํ„ฐํŽ˜์ด์Šค์˜ ์žฅ์ ์€ ํ•˜๋‚˜์— ์—ฌ๋Ÿฌ ์ ์šฉ๋ฒ•์ด ์žˆ์„ ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฒƒ์ด๋‹ค.

 

public class ChessGame implements GamingConsole {

	@Override
	public void up() {
		System.out.println("์ฒด์Šค๋ง์„ ํ•œ์นธ ์œ„๋กœ");
		
	}

	@Override
	public void down() {
		System.out.println("์ฒด์Šค๋ง์„ ํ•œ์นธ ์•„๋ž˜ ");
		
	}

	@Override
	public void left() {
		
	}

	@Override
	public void right() {
		System.out.println("์ฒด์Šค๋ง์„ ์˜ค๋ฅธ์ชฝ์œผ๋กœ");
	}

}

 

 

 

์ธํ„ฐํŽ˜์ด์Šค๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ ๊ณตํ†ต์ ์ธ ์‹œํ–‰ ๊ฐ€๋Šฅ ํ–‰๋™๋“ค์„ ๋Œ€ํ‘œํ•˜๋Š” ๊ฒƒ์ด๋‹ค.

(์ธํ„ฐํŽ˜์ด์Šค๋Š” ๊ณตํ†ต ํ–‰๋™์„ ํด๋ž˜์Šค์—๊ฒŒ ์ œ๊ณตํ•œ๋‹ค.)

728x90