75.내일배움캠프 67일차 TIL <Unity Unity 2D 팀프로젝트- MartialGod:Reborn - 16일차> 07/14

정광훈(Unity_9기)·2025년 7월 14일

TIL (Today I Learned)

목록 보기
76/110
post-thumbnail

<질문>

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

객체는 프로그램에서 실제로 존재하며, 고유한 상태(데이터)
그 상태를 조작할 수 있는 행동(함수 또는 메서드)을 가지는 독립적인 실체

클래스는 객체를 만들기 위한 추상적인 설계도이고,
객체는 그 설계도를 바탕으로 실제로 만들어진 구체적인 실체(인스턴스)라고 할 수 있음


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

객체를 "생성"하는 역할


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

가장 넓은 접근 범위를 가집니다.
public으로 선언된 멤버는 어떤 곳에서든 접근할 수 있습니다.

가장 좁은 접근 범위를 가집니다.
private으로 선언된 멤버는 오직 선언된 클래스 내부에서만 접근할 수 있습니다.

protected로 선언된 멤버는 선언된 클래스 내부와
해당 클래스를 상속받은(파생된) 클래스 내부에서만 접근할 수 있습니다.


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

static 한정자(Modifier)는 클래스, 필드(변수), 메서드, 속성(Property), 이벤트 등
다양한 멤버에 적용될 수 있는 키워드입니다.
static 키워드가 붙은 멤버는 인스턴스(객체)에 속하지 않고, 클래스 자체에 속하게 됩니다.


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

S - 단일 책임 원칙 (Single Responsibility Principle, SRP)
하나의 클래스는 단 하나의 책임만 가져야 한다.
즉, 클래스를 변경해야 하는 이유는 오직 하나여야 한다는 뜻입니다.

O - 개방-폐쇄 원칙 (Open/Closed Principle, OCP)
새로운 기능을 추가할 때 기존 코드를 수정하는 대신, 기존 코드를 확장하는 방식으로 기능을 구현해야 한다는 의미

L - 리스코프 치환 원칙 (Liskov Substitution Principle, LSP)
상속 관계에 있는 클래스들이 올바르게 동작해야 함을 의미합니다.
부모 클래스가 사용되는 곳에 자식 클래스를 넣어도 문제가 없어야 합니다.

I - 인터페이스 분리 원칙 (Interface Segregation Principle, ISP)
클라이언트는 자신이 사용하지 않는 인터페이스에 의존해서는 안 된다.
크고 거대한 하나의 인터페이스보다는,
클라이언트의 필요에 따라 작고 구체적인 여러 개의 인터페이스로 분리하는 것이 낫다는 원칙

D - 의존성 역전 원칙 (Dependency Inversion Principle, DIP)
"1. 고수준 모듈은 저수준 모듈에 의존해서는 안 된다. 이 둘은 추상화에 의존해야 한다."
"2. 추상화는 세부 사항에 의존해서는 안 된다. 세부 사항이 추상화에 의존해야 한다."

이는 '의존성 주입(Dependency Injection, DI)'의 기반이 되는 원칙입니다.
클래스들이 구체적인 구현(저수준 모듈)에 직접 의존하기보다는, 추상화(인터페이스나 추상 클래스)에 의존해야 한다는 것을 강조.

0개의 댓글