구조체(struct) 와 클래스(class)의 차이점

Unity3D/C# 2019. 8. 15. 13:26
반응형
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
using System;
 
namespace _01
{
    public struct Position {
        public int x;
        public int y;
        public Position(int x, int y){
            this.x = x;
            this.y = y;
        }
    }
 
    public class Solution1{
        public Solution1(){
            //struct , class 차이점 
            //1. struct: stack memory, class : heap memory 
            //2. 상속 불가, protected한정자 사용불가 
            //3. new 키워드로 객체를 생성시키지 않아도 바로 사용할수 있다.
            //4. 인스턴스 속성 또는 이니셜라이져를 사용할수 없음
            //5. 매개변수가 없는 명시적 생성자를 포함할수 없음 
            //6. 매개변수가 있는 생성자는 반드시 모든 필드에 할당 되어야 함 
            //7. 인터페이스를 상속 받을수는 있지만 클래스는 상속 불가 
            Position position;
            position.x = 10;
 
            Console.WriteLine("position.x: {0}", position.x);
 
 
        }
    }
 
    class Program
    {
        static void Main(string[] args)
        {
            new Solution1();
        }
    }
}
 
 
 
반응형

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

xml to json  (0) 2020.08.05
C# 배열연습  (0) 2020.04.17
visual studio code 에서 c# 디버깅 하기  (0) 2019.08.14
(C#) resolving-method-overloads  (0) 2019.04.10
(C#) 타입 비교  (0) 2019.04.05
: