티스토리 뷰

1. 개념
interface 역할
interface는 클래스에서 꼭 사용해야 할 메서드를 정의해 놓은 것
만약 interface를 상속받고 메서드를 사용하지 않으면 에러 발생
인터페이스는 메서드 선언만 하고 기능 구현은 클래스에서 함
클래스와 달리 interface는 여러개가 상속 가능
2. 예제
interface 예시
PHP 코드
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
32
<?php
 
interface testInface
{
//calc_amt함수 선언,단 인터페이스에서는 기능 구현X
function calc_amt ( $amt );
}
 
//인터페이스 상속(여러 개 구현 시 콤마(,) 하고 인터페이스명...)
class Test
implements testInface
{
//인터페이스에 없는 자체 함수 구현
function self_amt()
{
print_r( "내가 생각하는 금액" );
}
 
//인터페이스에 있는 함수 구현
function calc_amt( $amt )
{
print_r( "실제 지급하는 금액 : { $amt } " );
}
}
 
//클래스로 인스턴스 생성
$test = new Test();
$test -> self_amt();
 
print ( "<br><br>" );
$test -> calc_amt(10000);
 
?>
결과 화면
코드 설명
인터페이스는 꼭 사용해야 할 메소드를 정의 두는 곳입니다.
쉽게 말하면 안전장치라고 생각하시면 됩니다.
내가 생각하는 메소드를 꼭 써야 할 때 사전에 미리 이러이러한 메소드는 작성해서 쓸거야 라는 것을 정의해 두는 것이죠
인터페이스는 클래스와 달리 여러개의 상속이 가능합니다.
예를 들어서 인터페이스가 test1,test2,test3 라고 있다고 생각하면 클래스에서 상속할 때는 implements test1,test2,test3 이렇게 하면 여러개의 인터페이스를 상속할 수가 있습니다.
인터페이스 내에서는 메소드만 선언한다는 점을 기억해주시고 기능 구현은 클래스에서 합니다.
위에서 보시면 calc_amt 함수를 인터페이스에 선언해 두었습니다.
만약 클래스에서 calc_amt를 선언하지 않으면 에러가 발생하게 됩니다.
이 점을 유의해 주시고 사용하면 됩니다.
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday