Notice
Recent Posts
Recent Comments
Link
«   2025/05   »
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
Archives
Today
Total
관리 메뉴

Typing diary

C#-클래스와 구조체 본문

C#

C#-클래스와 구조체

Jcon 2022. 8. 17. 21:47

2018. 5. 16

 

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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
using System;
 
using System;
 
namespace CSharp_Console
{
    /*
     * 클래스와 객체
     *      -클래스란 객체의 구조와 행위를 정의하는 방법이다.
     *      -클래스에 속하는 각각의 객체를 클래스에 대한 인스턴스(instance)라고 한다.  
     */
 
    //클래스 정의
    class MyClass
    {
        /* ※접근 수정자
         *      :다른 클래스에서 필드의 접근 허용 정도를 나타내는 속성이다.
         * 
         * 별도의 명시가 없을시 private으로 간주된다.
         * 
         *          접근수정자      │  같은 클래스 | 파생 클래스  | 네임스페이스  | 모든 클래스
         *    ─────────────────────┼─────────────┼─────────────┼──────────────┼──────────────
         *          private        │      o      │      x      │      x       │      x
         *          protected      │      o      │      o      │      x       │      x
         *          internal       │      o      │      o      │      o       │      x
         *      protected internal │      o      │      o      │      o       │      x
         *          public         │      o      │      o      │      o       │      o
         */
 
        /*                                      
         * 필드
         *     :객체의 속성을 나타낸다.
         */
         public int value;
         private int data;
 
        /*
         * 메소드
         *     :객체의 행위를 기술하는 방법이다.              
         */
         
         //생성자 
         //    -클래스와 이름이 동일해야 하며 객체가 생성될때 자동으로 호출된다. 
         public MyClass()
         {
         }
 
         //소멸자
         //    -클래스 이름앞에 ~을 붙여야 한다. 객체가 소멸될때 자동으로 호출된다.
         //    -매개변수를 가질 수 없다.
         ~MyClass()
         {
         }
 
         private void Add()
         {
             value += 1;
         }
    }
 
    /*
     * 구조체
     *     
     *    구조체 ↔ 클래스
     *         -클래스는 참조형이고 구조체는 값형이다.
     *         -클래스 객체는 힙에 저장되고 구조체 객체는 스택에 저장된다.
     *         -구조체는 상속이 불가능하다.
     *         -구조체는 소멸자를 가질 수 없다.
     *         -구조체의 멤버는 초기값을 가질 수 없다. 
     */
    struct MyStruct
    {
        public int x, y;
    }
 
    class Program
    {
        static public void Main()
        {
            //객체 생성
            //     -new 연산자를 이용해 객체를 생성한다.
            //     -C#의 모든 객체는 힙(heap)에 저장된다.
            MyClass myClass = new MyClass();
        }
    }
}
cs

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

C#-델리게이트  (0) 2022.08.17
C#-배열  (0) 2022.08.17
C#-메소드와 파라미터  (0) 2022.08.17
C# - var과 object타입  (0) 2022.08.17
C# 개요  (0) 2022.08.17