본문 바로가기

[내배캠] 본 캠프 개발 학습/매일매일 쓰는 TIL

12월 6일 금요일 본 캠프 개발 일지

 

📌

 

학습 내용 


1. 작업 내용 
2. 기술면접 공부  


1. 작업 내용


✅ UI

 

UIManager와 HUD 캔버스를 모두 동적 생성 해주고, 그 밑에 UI를 넣어주는 방식으로 바꿨다! 캔버스 초기화를 GameManager에서 해주면 되었다.

 

그리고 왠지... 오류만 고치다가 하루가 끝나버렸다.

2. 기술면접 공부

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

 

  • 단일 책임 원칙 (Single Responsibility Principle, SRP)
    • 클래스는 하나의 책임만 가져야 하며, 변경 이유는 하나뿐이어야 한다.
  • 개방-폐쇄 원칙 (Open/Closed Principle, OCP)
    • 소프트웨어는 확장에는 열려 있어야 하고, 수정에는 닫혀 있어야 한다는 원칙.
    • 새로운 기능은 기존 코드를 수정하지 않고 확장(상속, 인터페이스 구현 등)을 통해 추가한다.
  • 리스코프 치환 원칙 (Liskov Substitution Principle, LSP)
    • 자식 클래스는 부모 클래스의 기능을 대체할 수 있어야 합니다. 즉, 부모 클래스 객체 대신 자식 클래스 객체를 사용해도 프로그램이 정상 동작해야 한다.
    • 상속받은 메서드나 속성을 부모 클래스의 계약을 위반하지 않도록 구현한다.
  • 인터페이스 분리 원칙 (Interface Segregation Principle, ISP)
    • 특정 클라이언트가 사용하지 않는 메서드가 포함된 인터페이스를 강요하지 말아야 한다는 원칙.
  • 의존 역전 원칙 (Dependency Inversion Principle, DIP)
    • 고수준 모듈이 저수준 모듈에 의존하지 않고, 둘 다 추상화된 인터페이스에 의존해야 한다.

 

 

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

 

동일한 메서드 호출이 객체의 실제 타입에 따라 다르게 동작하는 특성을 말한다. (인터페이스 등) 

 

인터페이스나 추상 클래스를 통해 다양한 객체를 다룰 수 있어 코드가 유연하게 확장되고 클라이언트는 구체적인 클래스가 아닌 추상화된 인터페이스에 의존하게 되어 코드의 결합도가 줄어든다.