C# 지식 정리 [2]

이재형·2024년 9월 13일
0
post-thumbnail

C# 지식 정리

SOLID 원칙에 대해 설명해주세요.

  • SRP (단일책임의 원칙)
    • 하나의 모듈이 하나의 책임을 가져야한다.
    • 모듈이 변경되는 이유가 한가지여야 한다.
    • 다른 액터나 여러 대상이 책임을 가지지 않고 하나의 액터에서만 책임을 져야한다.
  • OCP (개방폐쇄의 원칙)
    • 확장에 대해 열려있어야 한다. > 기능 확장
    • 수정에 대해서 닫혀있어야 한다. > 동작을 추가하거나 변경
  • LSP (리스코브 치환의 원칙)
    • 하위 타입은 상위 타입을 대체할 수 있어야 한다.
    • 객체를 사용하는 클라이언트는 상위 타입이 하위 타입으로 변경되어도 인식하지 못하여야 한다.
  • ISP (인터페이스 분리의 원칙)
    • 목적과 관심이 다른 클라이언트는 인터페이스를 통해 분리해야한다.
    • 목적과 용도에 적합한 인터페이스만을 제공한다.
  • DIP (의존성역전의 원칙)
    • 고수준 모듈은 저수준 모듈의 구현에 의존해서는 안된다.
    • 저수준 모듈은 반대로 고수준 모듈에 의존해야한다.

객체지향 프로그래밍의 속성 중 하나인 다형성과 이를 활용한 설계의 장점에 대해 설명해주세요.

  • 다형성에는 override와 overload를 이용한 다형성이 존재합니다.
  • override는 상속으로 코드의 재사용을 느린 방면, overload는 다른 데이터 타입을 사용하게 합니다.
  • 다형성에서 다중 상속의 문제가 생기므로 인터페이스를 사용하여 문제를 해결 할 수 있습니다.

override와 overload에 대해 설명해주세요.

  • override는 상속하는 메서드를 재정의를 할 때 사용을 하게 됩니다.
  • overload는 같은 이름의 메서드 명에서 다른 매개변수로 사용될 때 사용하게 됩니다.

확장 메서드에 대해 설명하고 어떻게 활용했는지 알려주세요.

  • 확장 메서드는 존재하는 메서드에 추가로 정의를 해주는 메서드이다.
  • 코드의 재사용과 유지보수성을 위해 확장 메서드를 사용합니다.
  • This를 이용하여 확장하여 사용을 합니다.
profile
한국사람

0개의 댓글