TIL (66) | 2023.10.30 | struct와 class, 가비지 컬렉터

kjg5370·2023년 10월 30일
0

TIL

목록 보기
65/91
post-thumbnail

오늘 배운 것

  • struct와 class
    두 가지 다른 데이터 타입 정의 방식

    1. 값 형식 vs 참조 형식
      struct: 값 형식(Value Type)으로 분류.
      이는 struct 인스턴스를 다른 변수에 할당할 때 해당 값을 복사.
      두 변수가 독립적인 값을 가지게 됨.

      class: 참조 형식(Reference Type)으로 분류.
      class 인스턴스를 다른 변수에 할당하면 참조가 복사되므로 두 변수는 동일한 인스턴스를 가리킴.

    2. 메모리 관리
      struct: 값 형식이므로 스택(stack)에 할당.
      메모리 관리가 상대적으로 간단하며 범위를 벗어날 때 자동으로 해제.
      class: 참조 형식이므로 힙(heap)에 할당.
      메모리 관리가 더 복잡하며 개발자가 직접 메모리를 관리해야 함.

    3. 상속
      struct는 상속을 지원하지 않음.
      class는 상속을 지원하며 클래스 간의 계층 구조를 만들 수 있음.

  • 가비지 컬렉터
    컴퓨터 프로그램에서 동적으로 할당된 메모리를 관리하는 데 사용되는 중요한 컴퓨터 프로그램 구성 요소.
    더 이상 사용되지 않는 메모리를 식별하고 회수하여, 메모리 누수(memory leaks)와 프로그램 충돌을 방지하는 기능.

    • 기능
      참조되지 않는 객체 식별:
      가비지 컬렉터는 더 이상 사용되지 않는 객체 또는 메모리 블록을 식별.
      더 이상 접근할 수 없는 객체로 간주됨.

      메모리 회수:
      가비지 컬렉터는 식별된 불필요한 객체의 메모리를 해제.
      이 과정은 동적으로 할당된 메모리를 확보하고 다시 사용 가능한 메모리 풀에 반환.

      자동화:
      가비지 컬렉터는 메모리 관리를 자동으로 수행하므로 개발자가 메모리 해제와 관련된 작업을 수동으로 처리할 필요가 없어짐.
      메모리 누수와 관련된 버그를 줄이고 프로그램 개발 생산성을 향상시킬 수 있음.

내일 할 일

  • enemy 공격 ai 수정
profile
학생입니다

0개의 댓글