분류 전체보기 90

2024/4/18 TIL

'오늘의 일에서 나는 어떤 것을 배웠는지' - 학습 Q30. 서로 다른 성능을 가진 기기에서 Update 사용 시 주의할 점에 대해 설명해주세요. A30. 서로 다른 성능을 가진 기기에서 Unity의 Update 메서드를 사용할 때 주의해야 할 몇 가지 사항이 있다. 1. Frame Rate 관리 서로 다른 기기에서는 프레임 속도가 다를 수 있다. 따라서 Update 메서드 내에서 수행되는 작업이 많은 경우, 고성능 기기에서는 잘 동작할 수 있지만 저성능 기기에서는 성능 저하를 유발할 수 있다. 이를 해결하기 위해 프레임당 처리해야 할 양을 조정하거나, 고성능 및 저성능 기기 간의 차이를 고려하여 프레임 레이트 독립적인 방법으로 코드를 작성할 수 있다. 2. 가비지 컬렉션 최적화 Update 메서드 내에..

TIL 2024.04.18

2024/4/17 TIL

'오늘의 일에서 나는 어떤 것을 배웠는지' - 학습 Q29. Update의 종류와 각각 어떤 특징을 가지고 있는지 설명해주세요. A29. Update(): 일반적인 Update 메서드. 매 프레임마다 호출되며, 게임 로직 업데이트에 사용된다. 주로 오브젝트의 위치, 회전, 크기 등을 업데이트하는 데 사용된다. FixedUpdate(): 물리 엔진 업데이트를 처리하는 메서드다. 일정한 간격으로 호출되며, 고정된 물리 시뮬레이션을 구현하는 데 사용된다. 물리적인 연산이 필요한 경우에 사용된다. LateUpdate(): 모든 Update 메서드가 호출된 후에 호출되는 메서드다. 일반적으로 카메라나 플레이어를 따라가는 데 사용된다. 다른 Update 메서드가 끝난 후에 호출되므로, 카메라나 플레이어의 위치를 업..

TIL 2024.04.17

2024/4/16 TIL

'오늘의 일에서 나는 어떤 것을 배웠는지' - 학습 Q28. Unity 오브젝트가 다양하게 씬에 올라와 있다면 동시에 시작되고 무엇이 먼저 초기화 되는지 알 수 없을 수 있는데, 프로젝트에서 코드를 만들 때 이에 대해 고민하고 해결해본 경험이 있다면 설명해주세요. A28. 게임 내에서 시간의 흐름이 있고 00시가 되면 다음날 아침이 되는 설정이라 씬을 다시 로드하는 동시에 다음의 기능을 수행하도록 코드를 구현해야했다. 1. 서로 유기적으로 연결된 각종 변수들의 수치를 더하고 빼고 리셋한다. 예를들면 배고픔 수치, 스태미나 수치, 오늘의 날짜 등이다. 2. 각 데이터를 표시하는 UI를 최신화하고, 조건에 따라 특정 UI를 숨기거나 표시한다. 3. 엔딩 조건을 만족했는지 체크하고 만족했다면 엔딩씬으로 이동하..

TIL 2024.04.16

2024/4/15 TIL

'오늘의 일에서 나는 어떤 것을 배웠는지' - 학습 Q27.MonoBehaviour 클래스의 주요 메서드와 그 기능에 대해 설명해주세요. A27. MonoBehaviour 클래스는 Unity 엔진에서 게임 오브젝트에 부착하여 스크립트를 구현할 때 사용되는 기본 클래스로, 범용적으로 사용할 수 있는 메서드를 지원한다. Start(): 게임 오브젝트가 활성화되고 스크립트가 로드된 후, 최초로 한 번 호출된다. 초기화 작업이나 게임 시작 시 필요한 설정을 수행하는 데 사용된다. Update(): 매 프레임마다 호출되는 메서드로, 게임 오브젝트가 활성화된 동안 지속적으로 실행된다. 게임 로직의 주된 실행 부분으로, 게임 상태의 변경이나 오브젝트의 동작을 업데이트하는 데 사용된. FixedUpdate(): 물리 ..

TIL 2024.04.15

2024/4/12 TIL

'오늘의 일에서 나는 어떤 것을 배웠는지' - 학습 Q26.Unity 의 생명주기(Unity Life Cycle)에 대해서 설명해주세요. A26. Unity의 생명주기(Unity Life Cycle)는 Unity 애플리케이션의 실행 중에 발생하는 이벤트들의 순서와 각 이벤트가 발생하는 시점을 설명한다. Unity는 다양한 이벤트들을 통해 애플리케이션의 초기화, 업데이트, 그리고 종료 등을 관리한다. Unity의 기본적인 생명주기 이벤트는 다음과 같다. Awake(): 오브젝트가 생성된 직후에 호출. Start() 메서드보다 먼저 호출됨. 오브젝트가 활성화되어 있지 않아도 호출됨. OnEnable(): 활성화된 오브젝트가 시작될 때 호출됨. 처음으로 활성화되거나 다시 활성화될 때도 호출됨. Start():..

TIL 2024.04.12

2024/4/11 TIL

'오늘의 일에서 나는 어떤 것을 배웠는지' - 학습 Q25. MVC 모델이란 무엇인지 설명해주세요. A25. MVC는 Model-View-Controller의 약자로, 소프트웨어 디자인 패턴 중 하나다. 소프트웨어를 세 가지 주요 부분으로 분리하여 개발하는 방법론이다. Model (모델): 데이터와 비즈니스 로직을 다룬다. 애플리케이션의 상태와 동작을 관리한다. 주로 데이터베이스와의 상호 작용을 처리하고, 데이터를 관리하고 조작하는데 사용된다. View (뷰): 사용자 인터페이스를 나타낸다. 사용자에게 정보를 보여주고, 사용자 입력을 받는다. Controller (컨트롤러): 모델과 뷰 사이의 상호 작용을 관리한다. 사용자 입력을 처리하고, 그에 따라 모델을 업데이트하고, 적절한 뷰를 선택하여 표시한다...

TIL 2024.04.11

2024/4/9 TIL

'오늘의 일에서 나는 어떤 것을 배웠는지' - 학습 디자인 패턴을 사용하는 이유 1. 코드 재사용과 유지보수성 향상: 디자인 패턴은 공통적인 문제를 해결하기 위한 해결책으로, 일종의 설계 템플릿이다. 이러한 패턴을 사용하면 비슷한 유형의 문제에 대해 일관된 해결 방법을 제공할 수 있으며, 이로써 코드의 재사용성이 높아지고 유지보수가 용이해진다. 2. 코드 가독성 및 확장성: 디자인 패턴을 사용하면 일반적인 설계 원칙을 따르게 되어 코드의 가독성이 향상되고, 새로운 기능 추가 또는 변경 시 전체 시스템에 미치는 영향을 최소화할 수 있다. 3. 협업 능력 향상: 디자인 패턴은 개발자들 사이의 공통 언어를 제공하므로, 코드 구조를 이해하고 협업하는 데 도움이 된다. 1. (꼬리질문) 프로젝트에 디자인패턴을 적..

TIL 2024.04.09

2024/4/8 TIL

'오늘의 일에서 나는 어떤 것을 배웠는지' - 학습 Q23. 인터페이스와 추상클래스의 차이를 설명해주세요. A23. 인터페이스와 추상 클래스는 둘 다 객체 지향 프로그래밍에서 다형성을 구현하는 데 사용되는 개념이나, 몇 가지 중요한 차이점이 있다. 인터페이스 (Interface): 메서드의 선언만을 포함한다. 구현된 메서드가 없고, 메서드의 시그니처(자료형, 매개변수 등) 만을 정의한다. 다중 상속이 가능하다. 즉 여러 개의 인터페이스를 동시에 구현할 수 있다. 구현을 강제한다. 인터페이스를 구현하는 클래스는 인터페이스에 정의된 모든 메서드를 구현해야 한다. 클래스 간의 관계를 느슨하게 연결한다. 인터페이스를 사용하여 클래스 간의 의존성을 줄일 수 있다. 추상 클래스 (Abstract Class): 추상..

TIL 2024.04.08

2024/4/5 TIL

'오늘의 일에서 나는 어떤 것을 배웠는지' - 학습 Q22. 오버로딩과 오버라이딩의 차이점을 설명해주세요. A22. 오버로딩과 오버라이딩은 객체 지향 프로그래밍에서 다형성을 구현하는 두 가지 방법이다. 둘 다 같은 이름의 메서드나 연산자를 여러 번 정의하는 것을 의미하지만, 각각 다른 용도로 사용된다. 오버로딩(Overloading) 오버로딩은 같은 이름의 메서드나 연산자를 여러 개 정의하는 것을 말한다. 오버로딩은 같은 메서드의 이름을 사용할 필요가 있지만, 매개변수의 개수나 타입에 따라 다른 처리를 하고 싶은 경우에 사용된다. 이때 메서드나 연산자의 시그니처(매개변수의 타입, 개수 등)가 서로 달라야 한다. 즉, 같은 이름으로 여러 버전의 메서드를 정의하여 서로 다른 매개변수를 받을 수 있도록 한다...

TIL 2024.04.05

2024/4/4 TIL

'오늘의 일에서 나는 어떤 것을 배웠는지' - 학습 Q21.객체 지향 프로그래밍에서 상속이란 무엇인지 설명해주세요. A21. 객체 지향 프로그래밍에서 상속은 부모 클래스(슈퍼 클래스 또는 기본 클래스)의 속성과 메서드를 자식 클래스(서브 클래스 또는 파생 클래스)가 물려받아 사용하는 개념을 말한다. 이를 통해 코드의 재사용성을 높이고, 계층적인 구조를 형성할 수 있다. 상속을 통해 자식 클래스는 부모 클래스의 멤버(변수, 메서드)들을 포함하여 부모 클래스와 동일한 구조를 가질 수 있다. 이는 기존에 작성된 코드를 재사용하여 새로운 클래스를 정의하고, 새로운 기능을 추가하는 데에 유용하다. 상속은 다음과 같은 장점을 제공한다. 1. 코드 재사용성: 부모 클래스의 기능을 자식 클래스가 재사용할 수 있으므로,..

TIL 2024.04.04