인터페이스란
클래스 대신 인터페이스라는 선언문 사용
그리고 내용에는 접근제어자 없는 함수 형태만 덩그러니 있음
왜 사용할까?
다중상속에서 오는 문제점을 막으면서, 다중상속할 수 있게 해주는 것
(어떤 함수를 호출 할 지 모르게 되어버리는 문제)
다중상속이 가능하게 하는 키워드!
즉
inerface Test {
void aaa();
}
interface Exam{
void bbb();
}
class Inter : Test, Exam {
public void aaa(){
def
}
public void bbb(){
abc
}
}
그리고 다른 장점은(아래 소스코드)
하나의 인터페이스를 상속받은 서로 다른 성질의 클래스들을
하나로 묶어서 사용이 가능 아래 Main 함수 안에서...
7 class Program
8 {
9 static void Main(string[] args)
10 {
11 Exam[] ex = new Exam[3];
12 ex[0] = new Test();
13 ex[1] = new Test1();
14 ex[2] = new Test2();
15
16 for (int i = 0; i < 3; i++) {
17 ex[i].Exam_method();
18 }
19
20 Console.WriteLine("Press any key...");
21 Console.ReadLine();
22 }
23 }
24 interface Exam
25 {
26 void Exam_method();
27 }
28 class Test :Exam {
29 public void Exam_method()
30 {
31 Console.WriteLine("Test_Method 입니다.");
32 }
33 }
34 class Test1 : Exam {
35 public void Exam_method()
36 {
37 Console.WriteLine("Test1_Method 입니다.");
38 }
39 }
40 class Test2 : Exam
41 {
42 public void Exam_method()
43 {
44 Console.WriteLine("Test2_Method 입니다.");
45 }
46 }
디자인 패턴의 많은 예제 코드들이 이 인터페이스를 설계하는 것으로 부터 많이 시작
단순히 뼈대를 제공하는 것 뿐만아니라 더 큰 의미에서 최소한의 수정을 통해서
변화에 대응 할 수 있도록 하기 위한 유연한 프로그래밍을 할 수 있게 해주는
설계의 근간이 된다
인터페이스 내에서는 메소드, 이벤트, 인덱서, 속성이 쓰일 수 있으며,
필드를 포함할 수 없습니다.
인터페이스의 모든 멤버는 public로 접근 권한이 기본으로 지정
인터페이스를 상속한 클래스에서는 반드시 함수를 정의해줘야됨.
사전적 의미
'사용자인 인간과 컴퓨터를 연결하여 주는 장치. 키보드나 디스플레이 따위.'
'서로 다른 두 시스템, 장치, 소프트웨어 따위를 서로 이어 주는 부분.
또는 그런 접속 장치'
다른 특징
인터페이스는 인터페이스를 상속할 수 있음
'기술(MS,Web,Windows,AWS) > Web개발' 카테고리의 다른 글
IE10 부터 맞춤법 교정 기능 (0) | 2016.04.22 |
---|---|
FCK 에디터 기본 설정 (0) | 2016.04.05 |
MVC 내부 파이프라인 (0) | 2016.03.16 |
`MVC의 ActionResult (0) | 2016.03.16 |
MVC 강의 정리 2일차 (0) | 2016.03.14 |