C#/이것이 C#이다
[C# 기초강의] Ch 08. 인터페이스와 추상클래스
냠냠쿠
2023. 8. 10. 12:52
728x90
https://www.youtube.com/watch?v=Is2bdBpncHA&list=PLVsNizTWUw7GN8wPRhclbKuQa9aI9Cj2V&index=9
📌 인터페이스
- 클래스의 청사진
- 클래스가 해야하는 행동을 결정
즉, 클래스가 어떤 메서드를 가질지 결정한다. - 두 클래스를 이어주는 커넥터 역할
◾ 인터페이스 선언하기
- interface 키워드를 이용하여 선언
- 대개 I로 시작하는 이름으로 명명한다.
- 인터페이스는 기본적으로 메서드 구현과 필드를 갖지않는다.
- 인터페이스를 상속하는 실체클래스는 반드시 인터페이스에서 선언된 메서드를 모두 구현해야한다.
실체 클래스가 어떤 인터페이스의 파생 클래스인지 알고있다면 그 클래스가 어떤 public 메서드를 제공하는지도 파악 할 수 있다.
interface ILogger
{
void WriteLog (string log) ;
}
class ConsoleLogger : ILogger
{
public void WritLog (string message)
{
Console.WriteLine("{0} {1}", DateTime.Now.ToLocalTime(), message);
}
}
Ilogger logger = new ConsoleLogger();
logger.WriteLog("SomeLog");
📌 추상클래스
- 메서드 구현을 가질 수 있다.
추상클래스에서 구현을 가지지 않는 메서드를 추상메서드라고함.
추상 클래스의 파생 클래스는 추상메서드를 구현해야함 - 추상 크래스는 객체를 생성할 수 없음
- 인터페이스를 제공하되 기본적인 구현을 함께 제공하고싶을 때 사용
◾ 추상클래스 선언하기
- abstract class 를 이용해 선언
- 구현체를 갖지 않는 메서드는 abstract 한정자로 수식
abstract class 클래스이름
{
abstract 추상메서드이름();
메서드이름()
{
...
}
}
728x90