반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
Tags
- postorder
- Keras
- cudnn
- 머신러닝
- bccard
- discrete_scatter
- 대이터
- CES 2O21 참가
- classification
- KNeighborsClassifier
- web 사진
- paragraph
- pycharm
- java역사
- vscode
- 재귀함수
- CES 2O21 참여
- broscoding
- 웹 용어
- inorder
- C언어
- web 개발
- mglearn
- 결합전문기관
- 자료구조
- web 용어
- tensorflow
- html
- 데이터전문기관
- web
Archives
- Today
- Total
bro's coding
java.Interface 본문
반응형
interface
약속 or 계약
구현한 측과 사용하는 측과의 약속 -> 표준화
> interface는 다중 상속의 장점을 채택
> 다중 상속의 장점은 다양한 계층 구조 형성을 통한 다형성 적용에 있음
> 즉 interface는 다양한 계층 구조 형성을 가능하게 함
> 단, 일반 상속에서 지원하는 멤버를 물려 줄수는 없음
>interface끼리는 상속이 가능(abstract method 상속)
>일반적으로 인터페이스는 static final 상수와 abstract method를 정의함
public interface Flyer{
String ID="JAVA"; // public static final로 자동 인식
public void fly(); // abstract method로 자동 인식
}
package step5;
interface Flyer {
String ID="javaking";
public void fly();// abstract method 인식
}
class Animal{
}
class Bird extends Animal implements Flyer {
@Override
public void fly() {
// TODO Auto-generated method stub
System.out.println("새가 날다");
}
}
class Airplane implements Flyer {
@Override
public void fly() {
// TODO Auto-generated method stub
System.out.println("비행기가 날다");
}
}
interface Fighter{
public void fight();
}
// interface는 다양한 계층구조 형성이 가능
class SuperMan extends Animal implements Flyer, Fighter{
@Override
public void fight() {
// TODO Auto-generated method stub
System.out.println("수퍼맨이 악당과 싸우다");
}
@Override
public void fly() {
// TODO Auto-generated method stub
System.out.println("수퍼맨이 날다");
}
}
public class TestInterface1 {
public static void main(String[] args) {
Flyer f1 = new Bird();
Flyer f2 = new Airplane();
f1.fly();
f2.fly();
}
}
package step8;
// interface끼리는 상속이 가능
interface A {
public void a();
}
interface B extends A {// A 인터페이스의 abstract method를 상속
public void b();
}
class TestImpl implements B {// B interface를 implements하는 class a(), b() abstract method를 모두 구현해야함
@Override
public void a() {
// TODO Auto-generated method stub
}
@Override
public void b() {
// TODO Auto-generated method stub
}
}
public class TestInterface4 {
}
반응형
'[IT] > java' 카테고리의 다른 글
java.Collection (0) | 2021.03.05 |
---|---|
java.Interface.default/static method (0) | 2021.03.05 |
java.class.layout (0) | 2021.03.05 |
java.Prepare.Interview (0) | 2021.03.05 |
java.Design pattern.template (0) | 2021.03.04 |
java.Design pattern (0) | 2021.03.04 |
java.abstract(추상화) (0) | 2021.03.04 |
java.final (0) | 2021.03.04 |
Comments