일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 | 31 |
- 인터페이스
- 선택한요소
- find
- createTempFile
- 생성자참조
- map에서key와value
- 자동타입변환
- 자바
- 정적메소드
- 타깃타입
- 상수필드
- jQuery
- 객체타입확인
- 매개변수참조
- 상속
- 배열을 문자열
- ZipInputStream
- 디폴트메소드
- 추상메소드
- 필드의다형성
- 공백 처리
- 람다식
- 구현클래스
- 인터페이스의역할
- 인스턴스메소드
- 오버라이딩
- java
- 요소
- 문자열을 배열
- 익명구현객체
- Today
- Total
목록인터페이스 (4)
코드지우개

인터페이스 상속 인터페이스도 다른 인터페이스를 상속할 수 있다. 인터페이스는 클래스와는 달리 다중 상속을 허용한다. public interface 하위인터페이스 extends 상위인터페이스1, 상위인터페이스2{ ... } 하위 인터페이스를 구현하는 클래스는 하위 인터페이스의 메소드뿐만 아니라 상위 인터페이스의 모든 추상 메소드에 대한 실체 메소드를 가지고 있어야 한다. 그렇기 때문에 구현 클래스로부터 객체를 생성하고 나서 하위 및 상위 인터페이스 타입으로 변환이 가능하다. 하위인터페이스 변수 = new 구현클래스(); 상위인터페이스1 변수 = new 구현클래스(); 상위인터페이스2 변수 = new 구현클래스(); 하위 인터페이스로 타입 변환이 되면 상·하위 인터페이스에 선언된 모든 메소드를 사용할 수 있..

다중 인터페이스 구현 객체는 다수의 인터페이스 타입으로 사용할 수 있다. public class 구현클래스명 implements 인터페이스A, 인터페이스B{ //인터페이스 A에 선언된 추상 메소드의 실체 메소드 선언 //인터페이스 B에 선언된 추상 메소드의 실체 메소드 선언 } 인터페이스 A와 인터페이스 B가 객체의 메소드를 호출할 수 있으려면 객체는 이 두 인터페이스를 모두 구현해야 한다. 다중 인터페이스를 구현할 경우, 구현 클래스는 모든 인터페이스의 추상 메소드에 대해 실체 메소드를 작성해야 한다. 만약 하나라도 없으면 추상 클래스로 선언해야 한다. Searchable 인터페이스 public interface Searchable{ void search( String url ); } RemoteCon..

개발 코드가 인터페이스 메소드를 호출하면 인터페이스는 객체의 메소드를 호출한다. 객체는 인터페이스에서 정의된 추상 메소드와 동일한 메소드 이름, 매개 타입, 리턴 타입을 가진 실체 메소드를 가지고 있어야 한다. 이러한 객체를 인터페이스의 구현( implement ) 객체라고 하고, 구현 객체를 생성하는 클래스를 구현 클래스라고 한다. 구현 클래스 public class 구현클래스명 implements 인터페이스명 { 인터페이스에 선언된 추상 메서드의 실체 메소드 선언 } 구현 클래스는 보통의 클래스와 동일한데, 인터페이스 타입으로 사용할 수 있음을 알려주기 위해 클래스 선언부에 implements 키워드를 추가하고 인터페이스명을 명시해야 한다. 그리고 인터페이스에 선언된 추상 메소드의 실체 메소드를 선언..

인터페이스의 역할 자바에서 인터페이스는 객체의 사용 방법을 정의한 타입이다. 인터페이스는 개발 코드와 객체가 서로 통신하는 접점 역할을 한다. 개발 코드 가 인터페이스의 메소드를 호출하면 인터페이스는 객체의 메소드를 호출 시킨다. 그렇기 때문에 개발코드는 객체의 내부 구조를 알 필요가 없고 인터페이스의 메소드만 알고 있으면 된다. 개발 코드가 직접 객체의 메소드를 호출하면 간단한데, 왜 중간에 인터페이스를 두는지 의문점이 생길 텐데 그 이유는 개발 코드를 수정하지 않고, 사용하는 객체를 변경할 수 있도록 하기 위해서이다. 인터페이스는 하나의 객체가 아니라 여러 객체들과 사용이 가능하므로 어떤 객체를 사용하느냐에 따라서 실행 내용과 리턴 값이 다를 수 있다. 따라서 개발 코드 측면에서는 코드 변경 없이 실..