Deff_Dev

[C#] 객체 지향 프로그래밍 본문

면접 질문 정리/C#

[C#] 객체 지향 프로그래밍

Deff_a 2024. 7. 2. 10:05

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

  • 단일 책임의 원칙 (SRP)
    • 하나의 클래스는 하나의 목적을 위해 생성한다.
    • ⇒ 하나의 클래스는 하나의 기능만 담당해야 된다는 얘기
  • 개방 폐쇄의 원칙 (OCP)
    • 확장에는 열려있고, 수정에는 닫혀있어야 한다.
    • ⇒ 기능이 추가될 때, 원래 존재하는 클래스는 수정하지말고 새로운 클래스를 추가해야 된다는 얘기
  • 리스코프 치환의 법칙 (LSP)
    • 서브 타입(상속받은 하위 클래스)은 어디서나 자신의 기반 타입(상위 클래스)으로 교체할 수 있어야 한다..
    • ⇒ 자식 클래스는 부모 클래스의 기능을 확장하되, 부모 클래스가 제공하는 모든 기능을 동일하게 제공하고 일관성을 유지하라는 말
  • 인터페이스 분리의 원칙 (ISP)
    • 클라이언트가 사용하지 않는 인터페이스 때문에 영향을 받아서는 안된다.
    • 인터페이스에 하나의 기능만 넣어어야 된다는 얘기
  • 의존성 역전의 법칙 (DIP)
    • 실제 사용 관계는 바뀌지 않으며, 추상을 매개로 메시지를 주고받음으로써 관계를 최대한 느슨하게 만든다.
    • ⇒ 클래스를 직접 참조해 구현하지말고 상위 요소를 참조하라는 말
 

[Unity/C#] SOLID 원칙

객체지향 언어로 코딩 해봤다면 한 번쯤은 들어봤을 SOLID 원칙을 유니티를 예를 들어 설명해보겠다.SOLID 원칙이 뭘까 ?SOLID 원칙은 객체지향 설계에서 지켜야하는 5가지 원칙이다.단일 책임의 원

deff-dev.tistory.com

 

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

  • 다형성이란 객체가 여러가지 다양한 형태를 가지는 것을 뜻한다.
  • 상속을 받은 자식 클래스가 다양한 형태를 가질 수 있어 유연하고 확장 가능한 코드를 작성할 수 있다. ex) 업 캐스팅, 다운 캐스팅
 

[Unity/C#] 다형성 (업 캐스팅, 메소드 오버라이딩, is/as 연산자)

해당 포스팅은 고박사님의 유니티 C# 강의를 보고 공부한 내용과 추가적으로 공부한 내용을 정리한 포스팅입니다. 다형성 객체가 여러 가지 다양한 형태를 가지는 것을 뜻한다. → 상속을 받는

deff-dev.tistory.com

 

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

overide : 상위 클래스에 정의된 메소드를 하 클래스에서 재정의하는 것을 의미한다.

overload : 같은 이름의 메소드를 매개변수만 다르게 정의하는 것을 의미한다.

 

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

  • 확장 메소드는 기존 클래스 기능을 확장하는 기법으로, 다른 클래스에 인스턴스 메소드를 추가할 수 있다.
  • 클래스 자체의 내용을 수정할 수 없고, 외부에서 그 클래스에 기능을 추가하고 싶을  사용한다.

'면접 질문 정리 > C#' 카테고리의 다른 글

[C#] 가비지 컬렉터 (Garbage Collectior)  (0) 2024.07.08
[C#] 상속과 인터페이스  (0) 2024.07.05
[C#] 스택 메모리, 힙 메모리  (0) 2024.07.04
[C#] 콜백, delegate, event  (0) 2024.07.03
[C#] 객체와 한정자  (0) 2024.07.01