interface ) => implements이용하여 로드
조립하듯 찍어낼때 많이 사용
내부에 반복문,조건문 사용하는 경우는 잘 없음
주의사항(규칙)
- public 클래스 형태로 만들지 않음
- default void 메소드(); : {} 중괄호 사용
- public void 메소드(); : 중괄호x
- private,protected 사용 불가
- override 활용해야함 - interface내 메소드 필수 사용
- interface class 내 field에 변수 사용시 무조건 상수!
int a=0; String b=null; / public final int money = 5000; - 필드에 이런거 사용 x , 어차피 값 못바꿈 - interface class 안에 abstract 사용 가능
- 여러개의 interface 한꺼번에 로드 할 수 있음
- interface는 즉시실행 메소드가 없음
- public interface ex_interface extends 다른interface명 {} : interface interface 결합 가능
package exam; //ex_interface.java 연동 public class exam23 { public static void main(String[] args) { new exam23_box().zzz(); //zzz 출력 } } class exam23_box implements ex_interface,re{ @Override public void zzz() { ex_interface.super.zzz(); } @Override public void box1() { // TODO Auto-generated method stub } @Override public String box2() { // TODO Auto-generated method stub return null; } @Override public void box3() { // TODO Auto-generated method stub } @Override public String getdata() { // TODO Auto-generated method stub return null; } }
//ex_interface.javapackage exam; public interface ex_interface{ default void zzz() { // default는 중괄호 사용 System.out.println("zzz"); }; public void box1(); //interface 메소드 public String box2(); public abstract void box3(); //이렇게 사용은 가능 하나 잘 쓰진 않음 } //기존에 사용한 interface(ex_interface)를 보강 및 유지보수시 사용하는 방식 interface re{ public String getdata(); }
⚡ 정통방식
package exam; public class exam23 { public static void main(String[] args) { usercheck uc = new usercheck(); exam23_box gold = new exam23_box(); exam23_box2 silver = new exam23_box2(); uc.check(gold); //골드회원 출력 uc.check(silver); //실버회원 출력 //=> ㄹㅇ 부품화 해서 사용 } } //레벨체크(1번 실행) class usercheck { public void check(user u) { System.out.println(u.userlevel()); } } class exam23_box2 implements user{ @Override public String userlevel() { String level = "실버회원"; return level; } } class exam23_box implements user{ @Override public String userlevel() { String level = "골드회원"; return level; } }
//interface 파일package exam; interface user{ public String userlevel(); }
▶ 정통방식 응용문제 : [응용문제4] 참고 https://dev-eunse.tistory.com/96
'MEMO > Java-memo' 카테고리의 다른 글
금액에 , 찍기 (0) | 2024.05.31 |
---|---|
IO,Network 정리 (0) | 2024.05.24 |
abstract 정리 (0) | 2024.05.24 |
io.. 헷갈리는... (0) | 2024.05.22 |
해당 디렉토리에 있는 모든 filelist를 가져오는 코드 (0) | 2024.05.22 |