문제/C# 연습문제
C# 연습문제 : 인터페이스 (뇌를 자극하는 C# 5.0)
코딩너구리
2022. 9. 17. 16:23
1. 인터페이스와 클래스가 다른 점은 무엇입니까?
클래스와 비슷한 점은 메서드, 속성 등을 갖지만 인터페이스는 이를 직접 구현하지 않고 정의만을 갖습니다. 그래서 클래스에서 인터페이스를 상속 받을 경우 인터페이스의 모든 멤버에 대한 구현을 강제 받습니다. 그리고 클래스와 다르게 인스턴스를 가질 수 없습니다.
2. 인터페이스와 추상 클래스가 다른 점은 무엇입니까?
가장 큰 차이점 중 하나는 클래스는 무조건 하나의 추상 클래스를 상속 받을 수 있지만, 인터페이스는 하나 이상을 상속 받을 수 있습니다. 그리고 추상클래스는 정의만을 갖는 인터페이스와는 다르게 구현도 가능합니다.
그렇다면 인터페이스를 사용해야 하는 이유?
협업을 하다보면 A개발자가 만들고 있는 A클래스는 B개발자가 만드는 B클래스 만들어져야 개발이 가능한 경우가 생기는데. 이때 인터페이스를 이용하면 B임시 클래스를 만들어 B클래스가 완성될 때 까지 쓰다가 나중에 교체가 가능하도록 할 수 있다.
만약 인터페이스를 사용하지 않았다면 추후 교체가 될 때 형식이 맞지 않아 많은 양을 리팩토링을 해야하는 경우가 발생될 수 있다.