• Home
  • About
    • KKsDev photo

      KKsDev

      게임 프로그래머를 목표로 Unity, C#을 공부하고 있습니다.

    • Learn More
    • Email
    • Github
    • Steam
  • Posts
    • All Posts
    • All Tags
  • Projects

C# 배열과 Object 클래스

17 Jul 2023

Reading time ~1 minute

Object 클래스

C#에서 모든 데이터 형식은 값 형식과 참조 형식 으로 나뉜다.

값 형식은 스택 메모리 영역에 할당되고, 참조 형식은 힙 메모리 영역에 할당된다.

값 형식

int, float, bool, decimal 등의 자료형부터, struct 키워드로 정의한 구조체 까지 모두 값 형식이다.

참조 형식

class, 배열, interface, delegate 과 같은 데이터 형식은 모두 참조 형식이다.

그리고 이 모든 데이터 형식은 전부 Obejct 클래스를 상속받는다.

Object 클래스의 대표 함수

  1. Equals : 객체의 동등성을 비교
  2. GetHashCode : 객체의 해시 코드를 반환
  3. ToString : 객체를 문자열로 표현하여 반환
  4. GetType : 객체의 형식을 반환

배열에서 Object 클래스 활용

Object 클래스는 모든 데이터 형식의 기본 클래스 이므로

object 배열을 사용하면 서로 다른 데이터 형식의 요소를 함께 저장할 수 있다.

유용한 상황

  1. 다양한 유형의 데이터를 동일한 컬렉션을 관리할 때
  2. 다른 클래스나 구조체로부터 파생된 객체를 동일한 배열에 저장할 때
  3. 배열의 요소를 반복하면서 각 요소의 실제 데이터 형식에 따라 다른 작업을 수행할 때

단점

object 배열을 사용하면 배열에서 데이터를 검색하거나 사용할 때 명시적인 형 변환이 필요하기 떄문에

실행 시간에 형식 검사 및 형식 캐스팅을 수행하도록 코드를 작성해야 하며

약간의 성능 저하도 발생한다.



CSharp Share Tweet +1