티스토리 뷰

🟩 오늘의 목표

  • 알고리즘 특강 1회차 핵심 내용 이해
  • C++ 기본 문법(포인터, 레퍼런스, 클래스, 생성자/소멸자, OOP 개념) 심화 복습
  • 절차지향 → 객체지향 사고로 전환 연습
  • TIL 정리 습관 유지 및 코드 사고력 강화

 

🟧 알고리즘 특강  - 1


🟦 알고리즘의  정의

  • 문제를 해결하는 절차, 레시피 같은 개념
  • 자연어, 의사 코드, 순서도로 표현할 수 있음

🟦 알고리즘 문제 풀이 방식

  • 문제 제시 → 학생이 말/의사 코드/코드로 풀이
  • 튜터가 검토 후 해설 진행
  • 의사 코드는 “구체적이지만 추상적”하게 작성

🟦 왜 알고리즘을 배우는가

  • 컴퓨팅 사고력 향상
  • 코딩 테스트 대비 필수
  • 기본 코딩 능력을 강화할 수 있는 가장 효과적인 훈련

🟦 오늘 다룬 기초 코딩 능력

  • 변수 선언
  • 제곱 계산(pow)
  • 반올림(round)
  • 조건문
  • 반복문

 

🟧 C++ 문법 & 객체지향 심화 학습


🟦 포인터와 주소 – 메모리 구조 이해

  • 포인터는 “주소를 저장하는 변수”
  • & → 주소, * → 역참조
  • 스택/힙 메모리 구조 이해
  • 메모리의 실제 흐름을 기반으로 로직을 생각하는 훈련

 

🟦 레퍼런스(참조) vs 포인터 – 진짜 차이

  • 레퍼런스는 별칭(= 다른 이름)
  • Null 불가, 반드시 초기화 필요
  • 포인터는 주소를 저장하는 변수 → Null 가능
  • 함수 파라미터에서 안전하게 값 변경하려면 레퍼런스가 더 직관적
  • 개념 정리:
    • 포인터 = 주소를 들고 다니는 변수
    • 레퍼런스 = 이미 존재하는 변수를 가리키는 또 다른 이름

 

🟦 Struct vs Class

  • C++에서 struct와 class는 큰 차이 없음
  • 기본 접근 지정자만 다름
    • struct → public
    • class → private
  • struct는 데이터 묶음 위주
  • class는 동작(함수) + 데이터(멤버)를 함께 관리

 

🟦 절차지향 vs 객체지향

  • 절차지향: “동작 중심” → 함수 중심으로 문제 해결
  • 객체지향: “데이터 중심” → 객체를 설계하고 객체 간 협력을 정의
  • 게임 개발은 절차지향으로 만들면 확장 불가 → OOP로 작성해야 유지보수 가능

 

🟦 생성자와 소멸자 – 객체 생명주기

  • 생성자: 객체가 태어나는 순간 실행 (초기화 용도)
  • 소멸자: 객체가 사라지기 직전 실행 (정리/반납 용도)
  • 핵심:
    • 메모리는 객체 소멸 시 자동 해제.
    • 단, 객체가 잡아둔 리소스는 자동 정리되지 않음 → 소멸자로 해제 필요.
    • 소멸자는 “메모리가 완전히 사라지기 전에 마지막 실행 기회”.

 

🟦 Private와 캡슐화 – Get/Set

  • 캡슐화 목적: 데이터 보호 + 유지보수성 향상
  • private 멤버는 클래스 외부 접근 불가
  • public Get/Set 함수를 제공하여 안전하게 값 제어

 

🟦 상속 – 클래스 구조 확장

  • 부모의 기능을 자식 클래스가 물려받는 구조
  • 공통 기능을 상속하여 중복 코드 제거
  • 캡슐화와 상속을 조합해 코드 재사용성 극대화

 

🟦 추상화 – 복잡한 시스템 단순화

  • 불필요한 정보는 숨기고 중요한 요소만 노출
  • 예: 캐릭터 이동 함수는 내부 수학 계산을 숨기고 “Move()”만 제공
  • 인터페이스 설계 능력과 직결됨

 

🟦 다형성 – override의 진짜 의미

  • 같은 함수 이름을 클래스별로 다르게 동작시킬 수 있음
  • virtual / override 키워드
  • 게임 개발에서 가장 중요한 개념 중 하나
    • 예: Player.Update(), Enemy.Update()는 다르게 구현됨

 

🟫 오늘 느낀 점

객체지향 개념과 기본 알고리즘 사고가 조금씩 연결되고 있다. 아직 어렵지만 계속 반복하면 확실하게 체득할 것 같다.

'내일배움캠프 Unreal_7기 > 본캠프' 카테고리의 다른 글

TIL - 13일차  (0) 2025.12.16
TIL - 12일차  (0) 2025.12.12
TIL - 10일차  (0) 2025.12.10
TIL - 9일차  (0) 2025.12.09
TIL - 8일차  (0) 2025.12.08