기초 개념 문제 풀이 정리 (C++ & Blue Print) | Git Gmail 세팅 | | 팀프로젝트 | 코드카타 (문자열 내 마음대로 정렬하기) | TIL 24th | 캠프 24일 차 | 05/26/2026 (Tue)

2026. 5. 26. 23:26·TIL/Boot Camp

 

기초 개념 문제 풀이 정리 (C++ & Blue Print) | Git Gmail 세팅 | | 팀프로젝트 | 코드카타 (문자열 내 마음대로 정렬하기)

 

 

기초 개념 문제 풀이 정리: C++ & Blue Print

개념 정리 (변수와 자료형의 메모리 구조 이해 | 조건문과 반목문의 제어 흐름 이해 | 함수의 역할과 매개변수, 반환값 이해 | 객체지향 프로그래밍의 4대 특성 이해 | 클래스와 객체의 이해 | 포인터와 동적 메모리 관리 | 함수와 연산자 오버로딩 이해 | 템플릿과 제네릭 프로그래밍의 이해)

 

 개념 정리: C++

  • 변수와 자료형의 메모리 구조 이해
    • 정수는 2진수(binary) 형태로 메모리에 직접 저장됩니다. int는 보통 4바이트, short는 2바이트, long long은 8바이트 등 자료형에 따라 크기가 다릅니다. A는 크기가 고정되어 있다는 점에서 틀렸고, C는 정수는 소수점을 포함하지 않으며, D는 정수가 문자열로 변환되지 않는다는 점에서 틀렸습니다.
    • int 자료형은 대부분의 현대 시스템에서 4바이트(32비트)의 메모리 공간을 차지합니다. 이는 -2,147,483,648부터 2,147,483,647까지의 정수를 표현할 수 있습니다. 1바이트는 char, 2바이트는 short, 8바이트는 long long 자료형의 일반적인 크기입니다.
  • 조건문과 반목문의 제어 흐름 이해
    • 조건문(if문)은 조건식을 평가하여 그 결과가 참(true)일 때만 해당 코드 블록을 실행하고, 거짓(false)이면 해당 블록을 건너뛰는 제어 구조입니다. 이를 통해 프로그램의 실행 흐름을 조건에 따라 분기할 수 있습니다. B는 조건문의 목적에 맞지 않으며, C는 조건의 평가 결과가 반대로 설명되었고, D는 프로그램 종료와는 관련이 없습니다.
    • while 반복문은 조건식을 먼저 평가하고, 참일 때만 코드 블록을 실행합니다. 따라서 조건식이 처음부터 거짓이면 코드 블록이 한 번도 실행되지 않습니다. D의 설명은 do-while 반복문의 특징입니다. A, B, C는 모두 while 반복문의 올바른 제어 흐름을 설명하고 있습니다.
  • 함수의 역할과 매개변수(parameter) , 반환값 이해
    • 함수는 반환값이 없어도 정의할 수 있습니다. 반환 타입이 void인 함수는 값을 반환하지 않고 특정 작업만 수행합니다.
    • 매개변수는 함수가 호출될 때 전달받는 값을 저장하는 변수입니다.
    • 반환값은 함수가 작업을 완료한 후 그 결과를 호출한 곳으로 돌려주는 값입니다. return 키워드를 사용하여 반환합니다.
  • 객체지향 프로그래밍의 4대 특성 이해
    • 객체지향 프로그래밍의 4대 특성은 캡슐화(Encapsulation), 상속(Inheritance), 다형성(Polymorphism), 추상화(Abstraction)입니다. 직렬화(Serialization)는 객체를 저장하거나 전송하기 위해 바이트 스트림으로 변환하는 기술로, 객체지향의 4대 특성에 포함되지 않습니다.
    • 캡슐화는 데이터(속성)와 메서드(기능)를 하나의 단위로 묶고, 접근 제어자(public, private, protected)를 통해 외부로부터 내부 구현을 숨기는 것입니다. 이를 통해 데이터 보호와 정보 은닉을 실현하여 객체의 무결성을 유지할 수 있습니다. 
  • 클래스와 객체의 이해
    • 상속은 부모 클래스의 특성을 자식 클래스가 물려받아 코드 재사용성을 높이는 기법입니다. 하지만 부모 클래스의 private 멤버는 자식 클래스에서도 직접 접근할 수 없으며, protected나 public 멤버만 접근 가능합니다. 이는 캡슐화 원칙을 유지하기 위함입니다. 
      • 부모 클래스의 속성과 메서드를 자식 클래스가 물려받는 것이다
      • 코드의 재사용성을 높이고 중복을 줄이는 것이 주요 목적이다
      • Is-A 관계를 표현할 때 사용된다
    • 클래스는 객체를 생성하기 위한 설계도(blueprint) 또는 틀(template)입니다. 객체는 이 클래스를 기반으로 실제 메모리에 생성된 인스턴스(instance)입니다. 예를 들어, '자동차' 클래스로부터 '빨간 페라리', '파란 벤츠'와 같은 여러 객체를 만들 수 있습니다.
    • 맴버 변수 & 함수 / 정적, 전역, 가상, 인라인
  • 생성자, 소멸자와 접근 제어자의 이해
    • 생성자는 객체가 생성될 때 자동으로 호출되는 특수한 멤버 함수입니다. 객체의 초기화를 담당하며, 객체가 메모리에 할당되는 시점에 실행됩니다
    • 접근 제어자의 목적은 클래스 멤버에 대한 접근 권한을 제어하여 데이터 은닉과 캡슐화를 구현하는 것입니다. 이는 객체지향 프로그래밍의 핵심 원칙으로, 코드의 안정성과 유지보수성을 높입니다. 그러나 접근 제어자는 컴파일 타임에 적용되는 개념으로, 프로그램의 실행 속도와는 직접적인 관련이 없습니다.
  • 포인터와 동적 메모리 관리
    • 포인터는 다른 변수의 메모리 주소를 저장하는 변수입니다. 포인터 자체도 메모리 공간을 차지하며, 그 공간에 다른 변수가 위치한 메모리 주소를 값으로 저장합니다.
    • 동적 할당된 메모리는 프로그래머가 명시적으로 delete를 사용해 해제하지 않는 한 자동으로 해제되지 않습니다. 이것이 스택 영역의 지역 변수와 가장 큰 차이점입니다.
      • 힙(Heap) 영역에 메모리가 할당된다
      • 프로그램 실행 중에 필요한 만큼 메모리를 할당받을 수 있다
      • C++에서는 new 키워드를 사용하여 동적 메모리를 할당한다
    • 메모리 누수는 동적으로 할당된 메모리를 사용 후 해제하지 않아 메모리가 계속 점유되는 현상입니다. new로 할당한 메모리를 delete로 해제하지 않으면 프로그램이 종료될 때까지 메모리가 점유되어 메모리 누수가 발생합니다. 
  • 함수와 연산자 오버로딩 이해
    • 함수 오버로딩은 같은 이름의 함수를 매개변수의 타입, 개수, 순서를 다르게 하여 여러 개 정의하는 것입니다
    • 연산자 오버로딩의 주요 목적은 사용자 정의 클래스나 구조체에서 +, -, *, == 등의 연산자를 의미있게 사용할 수 있도록 하여 코드의 가독성과 직관성을 높이는 것
    • 함수 오버로딩은 매개변수의 타입이나 개수가 달라야 합니다. 반환 타입만으로는 오버로딩이 불가능
  • 템플릿과 제네릭 프로그래밍의 이해
    • 템플릿은 컴파일 시간에 타입 매개변수를 실제 타입으로 치환하여 코드를 생성하는 메타프로그래밍 기능
      • 템플릿은 타입 안정성을 유지하면서 코드 재사용성을 높임.
    • 함수 템플릿을 선언할 때는 'template' 키워드를 사용합니다.

 

 개념 정리: Blueprint

개념 정리 (언리얼 에디터 구성 요소와 기능 이해 | 액터·컴포넌트와 트랜스폼 이해 | 블루프린트 노드 연결과 동작 구현 | 콜리전 채널과 오버랩·블록 이해)

  • 액터·컴포넌트와 트랜스폼 이해
    • Location은 3D 공간에서의 X, Y, Z 좌표 위치
    • Rotation은 Roll, Pitch, Yaw 회전 각도
    • Scale은 각 축별 크기 배율을 나타냅니다.
    • 세 요소 모두 X, Y, Z 세 축에 대한 값을 가지며, 월드 좌표계와 로컬 좌표계 모두에서 표현될 수 있습니다.
  • 트랜스폼은 Location(위치), Rotation(회전), Scale(스케일) 세 가지로 구성
  • 블루프린트 노드 연결과 동작 구현
    • 흰색 실행 선은 무슨 순서로 동작이 실행되는지 보여줘요. 비유하면 전등 스위치를 눌렀을 때 전기가 흐르는 작동 순서선
    • 색이 있는 데이터 선은 값을 전달하는 선이에요. 예를 들어 숫자, 불리언, 벡터처럼 데이터 종류에 따라 색이 달라져요. 즉 “정보 운반선”
    • 데이터는 타입별 색이 다르고, 실행 선은 흰색이에요. 중요한 건 “같은 역할/호환되는 타입끼리 연결되는가
    • 보통 실행 흐름은 왼쪽에서 오른쪽으로 읽어요. 그래서 그래프를 볼 때 실행 순서를 추적하기 쉽습니다.
  • 블루프린트 연결선은 “역할”에 따라 나뉜다
  • 콜리전 채널과 오버랩·블록 이해
    • 기본 콜리전 채널로는 WorldStatic, WorldDynamic, Pawn, PhysicsBody, Vehicle, Destructible
    • Overlap & Block
    • 콜리전 응답 설정은 Ignore(무시), Overlap(겹침), Block(차단)의 세 가지 옵션으로 구성

 


Git Gmail 세팅

지메일(Gmail)에서 깃허브(GitHub) 알림 메일을 일반 메일과 섞이지 않게 따로 관리하려면, '라벨'과 '필터' 기능을 활용하는 것이 가장 좋습니다. 메일이 올 때마다 자동으로 특정 라벨(폴더)로 이동하고 보관처리되도록 설정해 보세요.

1. 깃허브 메일 전용 라벨 만들기

  1. PC에서 Gmail에 접속합니다.
  2. 왼쪽 메뉴를 스크롤하여 맨 아래 **[라벨 만들기]**를 클릭합니다.
  3. 라벨 이름을 GitHub 또는 원하는 이름으로 설정하고 **[만들기]**를 누릅니다.

2. 깃허브 메일 자동 분류 필터 설정하기

  1. 지메일 화면 맨 위 검색창 오른쪽의 [검색 옵션 표시] (필터 아이콘)를 클릭합니다.
  2. 보낸사람(From) 란에 noreply@github.com을 입력합니다.
  3. 오른쪽 아래의 **[필터 만들기]**를 클릭합니다.
  4. 체크박스에서 다음 항목을 선택합니다. ◦ [받은편지함 건너뛰기 (보관처리)]: 일반 메일함이 지저분해지지 않게 숨깁니다. ◦ [라벨 적용]: 방금 만든 GitHub 라벨을 선택합니다.
  5. 마지막으로 [필터 만들기]를 클릭하여 완료합니다. [1]이렇게 설정하면 깃허브에서 오는 모든 메일은 받은 편지함에 뜨지 않고, 왼쪽의 'GitHub' 라벨(폴더)을 클릭해서 따로 모아볼 수 있습니다. 상세한 설정 방법은 Gmail 고객센터에서 더 자세히 확인할 수 있습니다.
  • notifications@github.com

팀프로젝트

Debug Log:

  • namespace std 가 중복으로 여러군대 있으면 안된다는 것을 내가 몰라서 그냥 섰었는데, 이로 인해서 다른 분이 고생을 하셨다고 한다. 다음부터는 사용에 있어서 주의하자
  • Git rule 세팅에 있어서 2가지 작은 문제가 있었다
      1. 깃에 merge 할때 무분별한 (오류를 막기위해) 업데이트를 막기위해서 2명의 인원이 확인 하고 merge 하게 하고 싶어서 rule 찾는데 조금 오래 걸렸지만 읽어보며 천천히 잘 해결
      2. 다른 사람이 리뷰하고 approve 를 해줘야하는데 comments 로 하고 왜 안되나 찾아 다녔었다. (천천히 잘읽으면서 하자)

 


코드카타

 

  • 047. 문자열 내 마음대로 정렬하기 | Solved Date: 2026-05-26-Tue | Problem Link

 

저작자표시 동일조건 (새창열림)
'TIL/Boot Camp' 카테고리의 다른 글
  • Unreal 주특기 입문 (아타니) (AI) 개념 정리 + 문제 풀이 | 코드 카타: (푸드 파이트 대회 | 가장 가까운 같은 글자) | TIL 26th | 캠프 26일 차 | 05/28/2026 (Thur)
  • 팀프로젝트 (Text RPG 거의 완료) | AI 통한 기본 개념 정리 및 문제 풀이 | 코드카타 (두개 뽑아서 더하기 & K번째수) | TIL 25th | 캠프 25일 차 | 05/27/2026 (Wed)
  • 게임 프로그래밍 전문가 국가기술자격증 | Code Kata: 가운데 글자 가져오기, 수박수박수박수박수박수, 내적, 약수의 개수와 덧셈 | TIL 19th | 캠프 13일 차 | 05/08/2026 (Fri)
  • CPP Text RPG Project 완료 | Code Kata: 제일 작은 수 제거하기, 없는 숫자 더하기, 핸드폰 번호 가리기 | TIL 18th | 캠프 12일 차 | 05/07/2026 (Thur)
DevCol
DevCol
DevCol (Development Collaboration). 함께 개발 & 공부 & IT 정보 나눔장소
  • DevCol
    DevCol (Development Collaboration)
    DevCol
  • 블로그 메뉴

    • Unreal Engine
    • TIL
    • 게임국가기술자격검정 게임프로그래밍전문가 [한국콘텐츠진흥원]
    • 분류 전체보기 (73) N
      • Unreal Engine (31) N
        • Project (2) N
        • Dev Log (0)
        • Debugging (2) N
        • Blueprint (1)
        • UE 기초 (25) N
        • UE 심화 (0)
        • TA (1) N
      • Programming Language (0)
        • C++ (0)
        • C# (0)
      • Unity Engine (0)
      • 자격증 (3)
        • 게임국가기술자격검정 [한국콘텐츠진흥원] (3)
      • Coding Test | 코딩테스트 (0)
        • 프로그래머스 기초 (0)
        • 프로그래머스 입문 (0)
      • TIL (38) N
        • Boot Camp (32) N
      • Git & Github (1)
  • 링크

    • Youtube
    • GitHub
    • itch.io
    • Blog (En)
  • 공지사항

  • 인기 글

  • 태그

    Devlog
    게임개발
    게임 개발
    Boot Camp
    UE5
    Code Kata
    UE
    코드카타
    프로그래밍
    Unreal engine
    코드 카타
    Programming
    cpp
    Game Dev
    c
    언리얼 엔진
    til
    기초
    내일배움캠프
    C++
  • 최근 글

  • GitHub Youtube itch
  • hELLO · Designed By 정상우.v4.10.6
  • DevCol
    기초 개념 문제 풀이 정리 (C++ & Blue Print) | Git Gmail 세팅 | | 팀프로젝트 | 코드카타 (문자열 내 마음대로 정렬하기) | TIL 24th | 캠프 24일 차 | 05/26/2026 (Tue)
    상단으로

    티스토리툴바