인터페이스 [C#]

공부/C#  2012.09.19 09:00

안녕하세요. 명월입니다.
이번 포스트는 인터페이스에 대해 공부하겠습니다.
인터페이스는 추상 클래스와 비슷하게 클래스를 추상하는 역할을 하지만 다른 점은 다중 상속이 가능한 것과 불가능의 차이입니다.
일반 추상 클래스는 다중 상속이 불가능하고 추상 클래스 자체로의 기능이 어느정도 있지만 인터페이스는 기능없고 추상화한 객체, 즉 키워드 말처럼 인터페이스 요소만 있습니다.


저는 인터페이스를 객체 지향의 시작이고 오브젝트를 통합할 수 있는 기능이라고 생각하기에 중요하다고 생각합니다. 실제로 디자인 패턴 영역을 가면 인터페이스의 힘을 느낄 수 있습니다. 다음에 기회가 있음 디자인 패턴을 공부하고 이번 포스트는 간단하게 인터페이스 용법에 대해 공부하겠습니다.




추상 클래스에서는 불가능한 다중 상속의 예제입니다.



인터페이스의 중요한 점은 부모 인터페이스가 같은 것은 제네릭 또는 배열로 묶어서 관리가 가능합니다.




저의 개인적인 생각은 프로그램을 작성할 때, 인터페이스와 추상 클래스를 얼마나 잘 만드는 가에 대해 프로그램의 질이 달라진다고 생각됩니다.
기초 공부에서야 인터페이스 굳이 사용할 필요가 있을까 싶지만(저도 그렇게 얼마 전까지 그렇게 생각했습니다.) 디자인 패턴을 적용시키고, 프로그램을 객체지향 답게 만들면 만들수록 인터페이스와 추상클래스가 얼마나 중요한 역할인지를 알게 됩니다.
인터페이스와 추상클래스를 잘 정리한 프로그램을 본 적이 있는데 그건 프로그램이 아니고 예술 그 자체로 느껴진 적도 있었습니다.

'공부 > C#' 카테고리의 다른 글

어튜리뷰트 - (Atturibute) [C#]  (2) 2012.09.23
예외 처리 - [C#]  (0) 2012.09.22
이벤트(Event) - [C#]  (0) 2012.09.21
델리 게이트(delegate) - [C#]  (0) 2012.09.20
인터페이스 [C#]  (0) 2012.09.19
sealed 클래스 [C#]  (2) 2012.09.18
this, base 키워드 [C#]  (0) 2012.09.17
추상 클래스(abstract)와 가상 함수(virtual) [C#]  (2) 2012.09.16
상속 [C#]  (2) 2012.09.15

댓글 0개가 달렸습니다.
댓글쓰기