Skip to content

Commit 622f401

Browse files
authored
Update Chapter31.java
1 parent f35d9a3 commit 622f401

File tree

1 file changed

+58
-0
lines changed

1 file changed

+58
-0
lines changed

Chapter31.java

Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
package chapter31;
2+
3+
//강제하는 기능이다!!!(메서드 원형만 만들어주고 구현클래스로 구현해서 사용할 수 있도록 만들어 놓은 구조이다
4+
//->구현한느 클래스가 꼭 같이 있어야 한다 (인터페이스에서 만들어 놓은 메서드 원형을 오버라이드 시켜야 한다)
5+
//클래스간의 상속 하느느 방법을 사용하지 않고 어느 클래스에서나 인터페이스 변수명으로 구현된 메서드를 호출해서 사용하는 방법이다
6+
interface Etc{
7+
//1.추상 메서드 형식 : 메서드 원형만 작성되어 있다
8+
public abstract void anything();
9+
//2.default 메서드 형식
10+
default void anything1() {
11+
System.out.println("default는 인터페이스에서 구현되어진 메서드이다");
12+
}
13+
//3.상수값을 지정해 놓고 공통적으로 사용할 수 있다
14+
//변수는 선언하지 못하고 변수를 상수값 형태로 고정시켜서 사용할 수 있다
15+
public static final int COUNT = 10;
16+
//4.static 메서드 형식 : 객체를 생성하지 않고 메서드 호출이 가능하다
17+
static void anything2() {
18+
System.out.println("static은 객체가 새성되지 않아도 어디서나 호출이 가능하다");
19+
}
20+
}
21+
22+
//구현 클래스
23+
class EtcOther implements Etc{
24+
25+
@Override
26+
public void anything() {
27+
System.out.println("추상 메서드를 강제롤 반드시 구현해야 한다");
28+
}
29+
//아무것도 오버라이드 시키지 않음
30+
31+
}
32+
33+
public class Interface5 {
34+
35+
public static void main(String[] args) {
36+
EtcOther ec = new EtcOther();
37+
//default void anything1() 메서드 호출해서 수행
38+
ec.anything1();
39+
System.out.println("-------------------------------------------------");
40+
//2.public static final int COUNT = 10;
41+
//고정된 상수값으로 만들어 놓고 사용한다
42+
System.out.println(ec.COUNT);
43+
System.out.println("-------------------------------------------------");
44+
//3.static void anything2() 메서드 호출해서 수행 가능하다
45+
//인터페이스내에서 만들었기 때문에 인터페이스명.메서드명
46+
Etc.anything2();
47+
System.out.println("Etc.COUNT ="+Etc.COUNT);
48+
//4.public abstract void anything() 추상메서드를 구현하고 수행시켜 본다
49+
//구현 클래스를 생성해서 객체로 사용하는 방법
50+
ec.anything();
51+
//인터페이스로 구현클래스를 개개체 생성해서 오버라이드된 메서드를 호출해 오는 방법
52+
//인터페이스형 = 구현(오버라이드된 메서드)된 객체를 생성
53+
Etc e = new EtcOther();
54+
e.anything();
55+
56+
}
57+
58+
}

0 commit comments

Comments
 (0)