public interface PlayingCard {
	// 인터페이스는, 추상클래스보다 더 뼈대만 있는 것!
	
	// 인터페이스는, 멤버변수가 없고, 함수의 이름만 있는 것.
	// 단, 상수는 가능하다. 
	// (상수란, 한 번 값을 저장하면, 값을 바꿀수 없는것) 
	
	// 카드의 클로버는 1, 하트는 2, 다이아몬드는 3, 스페이드 4라고
	// 지정한다!!
	
	public static int CLOVER = 1;
	public static int HEART = 2;
	public static int DIAMOND = 3;
	public static int SPADE = 4;
	
	public String getCardNumber();
	public void print();
}
public class MyCard implements PlayingCard{

	String cardNumber;
	
	public MyCard(String cardNumber) {
		this.cardNumber = cardNumber;
	}

	public MyCard() {
		// TODO Auto-generated constructor stub
	}

	@Override
	public String getCardNumber() {
		// TODO Auto-generated method stub
		return cardNumber;
	}

	@Override
	public void print() {
		// TODO Auto-generated method stub
		System.out.println("card number : " + cardNumber);
	}
	
	
}
public class InterfacceMain {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		
		MyCard card = new MyCard();
		card.cardNumber = "7";
		
		String number = card.getCardNumber();
		System.out.println(number);
		
		card.print();
		
		MyCard card2 = new MyCard("5");
		card2.print();
		
		// 상수를 사용할때는, 보통은, 객체.상수 로 사용하지 않고,,
		System.out.println(card2.SPADE);
		// 상수를 정의한 인터페이스나 클래스명.상수 로 사용한다.
		System.out.println(PlayingCard.SPADE);
	}

}

인터페이스는 멤버 변수는 없고 함수이름만 있다. 단 상수는 가능하다.

PlayinCard를 implements 한 MyCard에서 함수 구현을 해준다.

 

 

'자바' 카테고리의 다른 글

자바 HashMap  (0) 2022.07.06
자바 ArrayList 사용법  (0) 2022.07.06
자바 추상클래스 용도와 사용방법  (0) 2022.07.06
자바 다운캐스팅이란?  (0) 2022.07.05
자바 업캐스팅이란?  (0) 2022.07.05

+ Recent posts