본문 바로가기
TIL

WIL (22.03.06)

by imagineer_jinny 2022. 3. 7.

WIL (Weekly I Learned)

 

이번주에 배운 것

  • C 프로그램 빌드 과정
    • 빌드: 사람이 읽기 쉬운 소스코드를 기계어 명령어로 변환
    • 빌드 4단계 : 전처리 - 컴파일 - 어셈블 - 링크
  • 상속
    • 다른 클래스의 특성들을 내려 받음
  • 부모 클래스의 특정 생성자를 호출할 때는 초기화 리스트를 사용해야 함
  • 오버라이딩
    • 말을 하는 행위는 어느 Animal이나 있다. 단, 실제 무슨 말을 하는지는 자식 클래스가 결정하게 하자
  • 가상함수
    • 자식 클래스의 멤버 함수가 언제나 호출됨 (부모의 포인터 또는 참조를 사용중이더라도)
    • 동적(dynamic) 바인딩, 늦은(late) 바인딩
      • 실행 중에 어떤 함수를 호출할지 결정
      • 당연히 정적 바인딩보다 느림
    • 이를 위해 가상테이블이 생성됨
      • 모든 가상 멤버 함수의 주소를 포함
      • 클래스 마다 하나!
  • 자료구조
    • 분류
      • 선형 구조 : 선형 리스트(배열), 연결 리스트, 스택, 큐, 데크
        • 자료를 구성하는 원소들을 순차적으로 나열시킨 형태
      • 비선형 구조: 트리, 그래프
        • 하나의 자료 뒤에 여러개의 자료가 존재할 수 있는 형태
    • 배열
      • 인덱스 사용해서 검색 빠르나 중간 삽입삭제가 어려움
    • 연결 리스트 (코드, 그림 체화시키기)
      • 중간 삽입삭제 빠르지만 검색속도 느림
    • 스택(Stack)
      • 후입선출(LIFO)
      • 가장 밑바닥: Bottom
      • 자료 입력 명령어: Push
      • 자료 출력 명령어: Pop
    • 큐(Queue)
      • 선입선출(FIFO)
      • 삭제 작업(가장 먼저 삽입된 자료의 기억 공간을 가리킴) : Front 포인터
      • 삽입 작업(가장 마지막에 삽입된 자료가 위치한 기억 장소를 가리킴) : Rear 포인터
      • 순서를 기다리는 대기 행렬 처리에 사용되거나 운영 체제의 작업 스케줄링에 사용
    • 데크(Deque)
      • Stack과 Queue의 장점을 빼서 따로 구성된 자료구조로, 삽입 삭제가 리스트의 양쪽 끝에서 모두 발생할 수 있음

 

차주에 진행할 것

  • C++ ~7주차까지 : 표준 템플릿 라이브러리(맵, 셋, 큐, 스택, 리스트)까지
  • C ~4주차까지 : 콘솔 출력까지
  • Effective C++: ~Chapter 2
  • VR Project 출시 (금요일 시작)
  • 프로그래머스 고득점 Kit - 탐욕법, 스택/큐 
  • 프로그래밍 면접 이렇게 준비한다 ~연결리스트까지

 

 

 

앞으로 진행할 것

  • 트러블 슈팅 경험 정리
  • 우아한 Tech - [10분 테코톡] 한주에 하나씩
  • 게임 프로그래밍 패턴
  • 선형대수학 개론
  • 언리얼
 

'TIL' 카테고리의 다른 글

WIL (22.04.03)  (0) 2022.04.06
WIL (22.03.27)  (0) 2022.03.28
WIL (22.02.27)  (0) 2022.02.28
WIL (22.2.20)  (0) 2022.02.22
WIL (22.02.13)  (0) 2022.02.14

댓글