본문 바로가기

C#/기본적인 팁

구체적인 클래스가 아니고 인터페이스에 대해 프로그래밍하자.

메서드의 반환값이나 인수를 인터페이스로 지정하면 좋은 점

--> 프로그램을 수정하기 좋아진다.

 

예를 들어 구체적으로 리스트를 받아들이도록 구현했는데

추후 배열로도 받아들일 수 있도록 수정이 필요할 경우.

처음 프로그래밍할 때 인터페이스를 활용하여 IEnumerable<T>를 받도록 구현했다면

배열도 IEnumerable<T>를 구현한 것이기 때문에 따로 수정할 필요가 없다.

구체적인 형이 아니라 인터페이스를 대상으로 코드를 작성했다면 아무것도 수정하지 않아도 된다.

 

 

인터페이스는 공산품의 규격이다.

  • A 클래스가 I 인터페이스를 구현했다면 A 객체I 형 변수대입될 수 있다.
  • I 형 변수는 I 인터페이스가 정의하는 속성과 메서드를 사용할 수 있다.
  • 속성이나 메서드가 실행할 수 있는 구체적인 동작은 I 인터페이스가 아니라 상속받는 A 클래스에서 작성된다.