본문 바로가기
알아두면 좋은것들

01.31 (TIL)

by 오랑이귀엽다 2024. 1. 31.
  1. float와 int의 수의 범위 차이
    • 핵심: float는 부동소수점 수를, int는 정수를 표현합니다.
    • float는 소수점을 포함한 실수를 표현하기 위해 지수와 가수를 사용하는 부동소수점 방식을 사용합니다. 이 때문에 큰 범위의 수를 표현할 수 있지만, 정확도는 int에 비해 떨어질 수 있습니다. 반면, int는 고정된 길이의 메모리를 사용하여 정수만을 표현합니다, 더 높은 정확도를 제공하지만 표현 가능한 수의 범위가 float보다 작습니다.
  2. 'ref'와 'out'의 사용 차이
    • 핵심: 'ref'는 두 방향 참조, 'out'은 단방향 참조입니다.
    • 'ref' 키워드는 메소드에 변수를 참조로 전달할 때 사용되며, 메소드 내부와 외부에서 변수의 값을 변경할 수 있습니다. 반면, 'out' 키워드는 메소드에서 생성되거나 변경된 값을 반환하는 데 사용됩니다. 'out'을 사용할 때는 메소드 내에서 반드시 변수에 값을 할당해야 합니다.
  3. 접근 제한자
    • 핵심: 접근 제한자는 클래스 멤버의 접근을 제어합니다.
    • 접근 제한자는 클래스, 메소드, 변수 등의 접근 범위를 정의하는 키워드입니다. 대표적으로 public은 어디서든 접근 가능, private은 같은 클래스 내에서만 접근 가능, protected는 같은 패키지 또는 상속받은 클래스에서 접근 가능, internal은 같은 어셈블리 내에서만 접근 가능합니다.
  4. struct와 class 비교
    • 핵심: struct는 값 형식, class는 참조 형식입니다.
    • struct(구조체)는 값 형식(Value Type)으로 스택 메모리에 저장되며, 주로 간단한 데이터 구조에 사용됩니다. 반면, class(클래스)는 참조 형식(Reference Type)으로 힙 메모리에 저장되며, 복잡한 데이터 구조와 행동을 가진 객체를 표현하는 데 사용됩니다. 클래스는 상속이 가능하지만 구조체는 그렇지 않습니다.
  5. 가비지 컬렉터(Garbage Collector)
    • 핵심: 가비지 컬렉터는 자동 메모리 관리를 제공합니다.
    • 가비지 컬렉터는 동적으로 할당된 메모리 중에서 더 이상 사용되지 않는 부분을 자동으로 찾아내어 해제하는 시스템입니다. 이로 인해 개발자는 메모리 관리에 신경 쓰지 않아도 되며, 메모리 누수 및 관련 버그를 줄일 수 있습니다. 다만, 가비지 컬렉션 과정에서 성능 저하가 발생할 수 있습니다.

'알아두면 좋은것들' 카테고리의 다른 글

02.02 (TIL)  (0) 2024.02.02
02.01 (TIL)  (0) 2024.02.01
class에 대해서  (0) 2023.10.27
객체에 대해서  (0) 2023.10.27
게임제작 꿀팁 _ 에셋스토어  (0) 2023.10.27