4/21 TIL 면접문제

2025. 4. 21. 21:54Unity 강의 정리

면접 대비 문제 스터디

1. 객체란 무엇인가요? 클래스와 어떤 연관이 있나요?

객체는 인스턴스라고도 하는데 클래스는 코드로 작성한 설계도와 같은 것이고 객체란 이 설계도를 인스턴스화하여 만들어집니다.

 

2. 생성자에 대해 간단하게 설명해주세요.

객체가 생성될 때 자동으로 호출되는 함수입니다. 명시하지 않으면 기본 생성자가 호출되고 명시한 생성자가 있으면 해당 생성자가 호출됩니다. 보통 초기화 등의 작업을 실행합니다.

 

3. 접근제한자란 무엇이며, 각각 어떤 차이가 있는지 비교해서 설명해주세요.

접근 제한자는 클래스, 함수, 변수들의 접근 범위를 구분하는 것입니다.

대표적으로 public, protected, private이 있고 Unity에선 internal도 있습니다.

public은 모든 곳에서 접근이 가능합니다.

protected는 해당 요소가 있는 클래스와 그 클래스를 상속받은 자식 클래스에서만 접근이 가능합니다.

private은 해당 요소가 있는 클래스에서만 접근이 가능합니다.

internal은 같은 .net 어셈블리 내에서만 접근이 가능합니다.

따라서 최상위 클래스는 public과 internal 접근 제한자만 사용이 가능합니다.

 

4. static 한정자에 대해 설명해주세요.

static을 사용하면 static이 붙은 요소를 프로그램이 실행될 때 데이터 메모리 영역에 할당합니다. 따라서 전역에서 접근이 가능하게 되어 전역처럼 사용이 가능하게 됩니다.

 

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

객체지향에서 유지보수성과 확장성을 위한 5가지 원칙, 단일 책임 원칙, 개방폐쇄 원칙, 리스코프 치환 원칙, 인터페이스 분리 원칙, 의존 역전 원칙을 가리킵니다.

단일 책임 원칙은 한 클래스는 하나의 책임만 가져야한다는 원칙입니다.

개방폐쇄 원칙은 확장에는 열리고 수정에는 닫혀있어야한다는 원칙입니다.

리스코프 치환 원칙은 자식은 부모 클래스를 대체 가능해야한다는 원칙입니다.

인터페이스 분리 원칙은 클라이언트가 자신이 이용하지 않는 함수에 의존하지 않는다는 원칙입니다.

의존 역전 원칙은 상위 모듈이 하위 모듈에 의존하지 않는다는 원칙입니다.

 

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

다형성이란 동일한 인터페이스로 서로 다른 동작을 수행할 수 있게 하는 것입니다.

Unity에선 override와 overload, 그리고 인터페이스로 구현할 수 있습니다.

다형성을 활용해서 설계를 하면 유지보수와 확장에 용이합니다.

 

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

override는 virtual이나 abstract으로 부모에서 정의된 함수를 자식에서 재정의할 때 사용됩니다.

virtual은 자식에서 구현하지 않아도 부모의 virtual 함수가 실행되지만 abstract은 자식에서 무조건 override해서 구현해야 합니다.

또한 abstract을 사용하려면 abstract 클래스에서만 사용이 가능합니다.

overload는 같은 이름의 함수를 매개변수만 다르게 구현하는 것입니다. 이때 함수들은 이름뿐만 아니라 반환값의 자료형도 같아야합니다.

 

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

확장 메서드란 외부에서 다른 클래스에 메서드를 추가하는 것처럼 새로운 메서드를 만들 수 있는 것입니다.

 

'Unity 강의 정리' 카테고리의 다른 글

04/23 TIL  (0) 2025.04.23
4/22 TIL 면접문제  (0) 2025.04.22
4/18 TIL  (0) 2025.04.18
4/17TIL  (0) 2025.04.17
면접 문제  (0) 2025.04.16