회원 로그인
|
인터페이스 (Interface)
인터페이스 (Interface)
상속 관계가 없는 클래스에 기능을 제공하는 구조를 말한다.
클래스와 비슷한 구조이지만 그 맴버는 추상 메소드, 추상 속성, 추상 인덱서, 이벤트로 한정된다. 그리고 클래스에 조립하는 형태로 사용한다. 이를 인터페이스의 장착이라 한다.
인터페이스의 정의와 장착
인터페이셔의 장착에는 ":"를 사용한다.
인터페이스의 정의에서 모든 메소드는 public으로 취급하므로 액세스 수식자는 생략할 수 있다.
또한 인터페이스는 얼마든지 장착할 수 있다.
Hello
52
참고 서적> c#이 보이는 그림책
상속 관계가 없는 클래스에 기능을 제공하는 구조를 말한다.
클래스와 비슷한 구조이지만 그 맴버는 추상 메소드, 추상 속성, 추상 인덱서, 이벤트로 한정된다. 그리고 클래스에 조립하는 형태로 사용한다. 이를 인터페이스의 장착이라 한다.
인터페이스의 정의와 장착
인터페이셔의 장착에는 ":"를 사용한다.
interface A { //인터페이스명 public abstract void say(); //추상 메소드 public abstract int prop { //추상 속성 get; set; } } class X : A { //인터페이스의 장착 public void say() { //오버라이드 Console.WriteLine("Hello"); } public void prop { //오버라이드 get { return b; } set { b = value; } } }
인터페이스의 정의에서 모든 메소드는 public으로 취급하므로 액세스 수식자는 생략할 수 있다.
또한 인터페이스는 얼마든지 장착할 수 있다.
interface A { void say(); int prop { get; set; } } class X : A, B, C, .... { //인터페이스명과 ,로 구분하여 명시한다. ...... }
//예제 using System; interface A { //인터페이스 정의 void say(); int prop { get; set; } } class X : A { //인터페이스 장착 public int b; public void say() { //오버라이드 Console.WriteLine("Hello"); } public int prop { //오버라이드 get { return b; } set { b = value; } } } class IFSample { static void Main() { X x = new X(); x.say(); x.prop = 52; Console.WriteLine(x.prop); } }결과
Hello
52
참고 서적> c#이 보이는 그림책
댓글 0개
| 엮인글 0개
285개(10/15페이지)
번호 | 제목 | 글쓴이 | 조회 | 날짜 |
---|---|---|---|---|
105 | [Python] zipfile 모듈 | 푸딩뱃살 | 4638 | 2015.09.15 10:17 |
104 | [PHP] array 배열 / sort 정렬 | 푸딩뱃살 | 3460 | 2015.09.02 21:11 |
103 | [PHP] function 함수 | 푸딩뱃살 | 2372 | 2015.08.14 22:28 |
102 | [PHP] while, do, foreach 반복문 | 푸딩뱃살 | 4997 | 2015.08.14 22:25 |
101 | [PHP] if ~ else 조건문 | 푸딩뱃살 | 2578 | 2015.08.14 22:13 |
100 | [PHP] PHP 기초 (에러,주석,변수,연산자) | 푸딩뱃살 | 3251 | 2015.07.08 00:43 |
99 | [C#] override와 new | 푸딩뱃살 | 3235 | 2015.05.14 01:34 |
98 | [C#] 다형성 | 푸딩뱃살 | 2585 | 2015.05.08 15:42 |
97 | [C#] 인터페이스 상속 | 푸딩뱃살 | 2644 | 2015.05.08 14:35 |
>> | [C#] 인터페이스 (Interface) | 푸딩뱃살 | 2577 | 2015.05.07 23:52 |
95 | [C#] 추상 클래스 | 푸딩뱃살 | 3301 | 2015.05.07 22:45 |
94 | [Python] 랜덤 패스워드 생성 | 푸딩뱃살 | 4287 | 2015.03.24 02:34 |
93 | [PHP] php 5.5.x로 업데이트로 인한 preg_replace() 오류 | 푸딩뱃살 | 2737 | 2015.03.14 02:15 |
92 | [PHP] php 5.5.x로 업데이트로 인한 mysql_connect() 오류 | 푸딩뱃살 | 6109 | 2015.03.14 02:01 |
91 | [PHP] PHP Warning: Cannot modity header information ~ PH | 푸딩뱃살 | 2788 | 2015.03.05 15:41 |
90 | [C#] 참조 전달 ref와 값 전달 out | 푸딩뱃살 | 6871 | 2015.02.26 00:10 |
89 | [VisualStudio] Visual Studio Express 2013 Windows Desktop 설치 | 푸딩뱃살 | 2990 | 2015.02.17 03:12 |
88 | [C#] 구조체 | 푸딩뱃살 | 3626 | 2015.01.07 14:17 |
87 | [C#] 오버라이드 (override) | 푸딩뱃살 | 4252 | 2014.11.21 02:17 |
86 | [C#] 이름의 은폐 new | 푸딩뱃살 | 3414 | 2014.11.21 02:13 |