본문으로 바로가기

[C#] Object

category Program/C# 2019. 1. 30. 15:09

모든 타입의 조상: System.Object


클래스를 정의할 때 부모 클래스를 명시하지 않는다면 C# 컴파일러는 기본적으로 object 라는 타입에서 상속받는다고 가정하고 자동으로 코드를 생성한다. 그런데 부모 클래스를 지정하더라도 그 부모 클래스는 어떤 클래스를 다시 상속받았을 것이고 결국에는 최초의 클래스가 object 타입을 상속 받는 것으로 끝난다. 결국 C#에서 정의되는 모든 클래스의 부모는 object가 된다. 

ojbect는 그 자체가 참조형임에도 값 형식의 부모 타입이기도 하다. 참조 형식과 값 형식은 처리 방식이 매우 다른데, 구분하기 위해 닷넷에서는 모든 값 형식을 System.ValueType 타입에서 상속받게 하고 있으며, 다시 System.ValueType은 object를 상속받고 있다. 그림을 보도록 하자..






따라서 C#에서 정의되는 모든 형식은 object로 변환하고 다시 되돌리는 것이 가능하다.



ref : (책) 시작하세요! C# 7.1 프로그래밍 기본 문법부터 실전 예제까지 내용 참조

'Program > C#' 카테고리의 다른 글

[C#] const 와 readonly 상수  (0) 2019.05.30
[C#] 스택과 힙  (0) 2019.03.18
[C#] 정적 메서드~as, is 연산자  (0) 2019.01.30
[C#] .NET 용어 요약 #2  (0) 2019.01.29
[C#] .NET 용어 요약  (0) 2019.01.28