카테고리(355)
-
20240209_유니티 초기화 순서 관련
오늘의 TIL은 유니티에서 Awake 함수로 만든 함수들에서 나올 수 있는 오류와 관련된 내용이다. 유니티에서 다양한 스크립트에 Awake 함수를 만드는 경우에 생길 수 있는 오류로 다른 오브젝트를 받아오게 처리한 경우에 생기는 오류이다. 예를 들어서 A라는 스크립트에서 Awake 함수에서 자신에게 컴포넌트를 붙이게 만드는데, B라는 스크립트에서 A에 있는 특정 컴포넌트를 참조하게 만들었다고 가정하자. 그렇다면 A부터 Awake 함수가 실행되고 B가 실행된다면 문제가 없지만, B가 먼저 실행된다면 A에는 컴포넌트가 없는데 이를 참조하므로 null 오류가 발생한다. 이를 해결하기 위해서는 우선 null이 아닌 상태인 경우에 작동하게 하는 방법이 있는데, if (aaaaa != null) { // 실행할 함..
2024.02.10 -
20240208_기술면접 회고
오늘의 TIL은 오늘 실시했던 기술면접에 대한 회고 내용이다. 1. Array를 이용해서 Stack 구현하기 프로그래밍을 하면서 자주 사용하는 Stack을 Array로 구하는 문제가 주어졌는데, 이 문제의 경우에는 Stack에 대한 기본적인 이해를 묻는 문제에 더해서 Array를 이용해서 해당 기능을 구현할 수 있는지를 묻는 문제이다. 우선 Stack에 대한 기본적인 지식을 정리하면, 1) Stack은 후입선출의 구조를 갖는다. 즉, 데이터가 순서대로 있다면, 데이터를 순서대로 넣고 (Push 한다면 순서대로 데이터를 넣고) 빼는 경우에는 가장 마지막에 넣었던 데이터를 빼는 방식으로 구현해야한다. (Pop 한다면 현재 집어넣은 index의 값을 반환해야 한다) 2) 실제로 구현하기 이 과정은 기술면접으로..
2024.02.09 -
20240207_유니티 상속 관련
오늘의 TIL은 유니티에서 사용하는 상속과 관련된 내용이다. 이전에 객체지향 프로그래밍에 대해 공부하면서 상속에 대해서도 어느정도 공부했었는데, 실제로 프로젝트를 진행하면서 상속에 대해 자세히 알지 못했었던 개념이 있어서 예시와 함께 정리하려고 한다. 1. 추상화 클래스 상속을 하고 받는데 있어서 추상화(abstract) 함수를 만드려는 경우에는 클래스에서도 추상화를 선언해야 한다. 오늘 작업했던 표지판의 기본이 되는 스크립트를 예를 들면 아래와 같은데, public abstract class SignBase : MonoBehaviour { private void OnTriggerEnter2D(Collider2D collision) { if (collision.CompareTag("Player")) { ..
2024.02.07 -
20240207_삼각 달팽이(프로그래머스)
오늘의 TIL은 프로그래머스의 문제인 멀쩡한 사각형에 관한 내용이다. 문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/68645 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제에 대해서 설명하면, 정수 n이 매개변수로 주어질 때, 밑변의 길이와 높이가 n인 삼각형에서 맨 위 꼭짓점부터 반시계 방향으로 달팽이 채우기를 진행한 후, 첫 행부터 마지막 행까지 모두 순서대로 합친 배열을 return 하는 문제이다. 제한 사항 1
2024.02.07 -
20240206_멀쩡한 사각형(프로그래머스)
오늘의 TIL은 프로그래머스의 문제인 멀쩡한 사각형에 관한 내용이다. 문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/62048 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제에 대해서 설명하면 가로의 길이가 W cm, 세로의 길이가 H cm인 직사각형 종이가 있을 때, 이 직사각형을 이루는 1cm X 1cm의 정사각형이 꽉 차 있을 때, 이 종이의 대각선 꼭지점 2개를 잇는 방향으로 잘라놓았을 때, 이 종이에서 사용할 수 있는 1cm X 1cm의 정사각형의 개수를 찾는 문제이다. 제한..
2024.02.06 -
20240205_SOLID원칙
오늘의 TIL은 저번주의 객체지향과 관련된 내용으로 SOLID 원칙에 관한 내용이다. SOLID 원칙 SOLID 원칙이란 객체지향 프로그래밍 설계 원칙으로, 유지 보수가 가능하고 확장 가능한 소프트웨어를 만들기 위해 사용하는 원칙이다. 1. S : 단일 책임 원칙(Single Responsibility Principle) 하나의 클래스는 하나의 책임만 가져야 한다는 원칙이다. 각 클래스는 한 가지 목적을 위해 존재하고, 변경의 이유는 하나이어야 한다는 뜻이다. 하나의 클래스에 너무 많은 기능을 갖게 한다면 해당 클래스에 대한 의존도가 강해지게 되므로 연결되 기능이 너무 많아지게 된다면 해당 기능들을 총괄하는 클래스를 만들고, 각 기능들을 각각의 클래스로 만들어서 관리하도록 작업해야한다. 예를 들어서 Pl..
2024.02.05