package com.java1.day18;
/* 인터페이스란?
* 추상클래스를 부분적으로 완성된 '미완성 설계도' 라고 한다면
* 인터페이스는 구현된 것은 아무 것도 없고 밑그림만 그려져 있는 '기본 설계도'라 할 수 있다.
* 추상메서드와 상수만을 멤버로 가질 수 있다.
*/
/*인터 페이스의 작성
* interface 인터페이스이름 {
public static final 타입 상수이름 = 값;
public abstract 메서드 이름(매개변수 목록);
*/
interface PlayingCard1 {
// 모든 멤버 변수는 public static final 이어야 하며, 이를 생략할 수 있다.
public static final int SPADE = 4;
final int DIAMOND = 3; //public static final int DIAMOND =3;
static int HEART = 2; //public static final int HEART =2;
int CLOVER = 1; //public static final int CLOVER =2;
// 모든 메서드는 public abstract 이어야 하며, 이를 생략 할수 있다.
public abstract String getCardNumber(); // 추상 메서드
String getCardKind(); // public abstract String getCardNumber();
// jdk1.8 부터는 static 메서드와 default 메서드의 추가를 허용하고 있다.
static void setCardNumber() {}
default void setCardKind() {}
}