C#/기본적인 팁
구체적인 클래스가 아니고 인터페이스에 대해 프로그래밍하자.
밍투민
2021. 5. 18. 15:33
메서드의 반환값이나 인수를 인터페이스로 지정하면 좋은 점
--> 프로그램을 수정하기 좋아진다.
예를 들어 구체적으로 리스트를 받아들이도록 구현했는데
추후 배열로도 받아들일 수 있도록 수정이 필요할 경우.
처음 프로그래밍할 때 인터페이스를 활용하여 IEnumerable<T>를 받도록 구현했다면
배열도 IEnumerable<T>를 구현한 것이기 때문에 따로 수정할 필요가 없다.
구체적인 형이 아니라 인터페이스를 대상으로 코드를 작성했다면 아무것도 수정하지 않아도 된다.
인터페이스는 공산품의 규격이다.
- A 클래스가 I 인터페이스를 구현했다면 A 객체는 I 형 변수에 대입될 수 있다.
- I 형 변수는 I 인터페이스가 정의하는 속성과 메서드를 사용할 수 있다.
- 속성이나 메서드가 실행할 수 있는 구체적인 동작은 I 인터페이스가 아니라 상속받는 A 클래스에서 작성된다.