IT_Programming/C#

구조체

JJun ™ 2006. 2. 27. 11:13

 

1. 상속을 받지도 하지도 않는다.


2. 클래스는 항상 new연산자를 사용해 객체를 생성했다.
    구조체는 new를 사용하지 않아도 된다.
    하지만 이렇게 하면
객체는 메모리에 할당되지 않은 상태로 남기 때문에
    모든 멤버(필드)를 초기화 해줘야 한다. 생성자를 선언할 때 매개변수 없이 하면

    오류가 발생한다.
    기본생성자는 반드시 구조체의 모든 멤버를 초기화 해야한다.

 

3. struct의 접근제한자 디폴트는 private이다.

 

 

[ex]

 

Struct  point

{
    public int x;
    public int y;
}

 

 

==============================================================================

 

using System;

 

public struct Point
{
     public int x;
     public int y;

   

 public Point(int x, int y) // 생성자 매개변수를 반드시 넣어야 한다.
    {
      this.x = x;
      this.y = y;
    }
}

 

class Structure
{
 public static void Main()
 {
  Point p = new Point(); //초기화

  Console.WriteLine("I know that struct is easy.");
  Console.WriteLine("X: {0} , Y: {1}",p.x,p.y);

  Point a;
  a.x = 20;
  a.y = 30;

  Console.WriteLine("I'm a struct.");
  Console.WriteLine("X: {0} , Y: {1}",a.x,a.y);
 }
}

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

as 연산자  (0) 2006.02.27
Is 연산자  (0) 2006.02.27
인터페이스  (0) 2006.02.27
Const / readonly  (0) 2006.02.27
This 키워드  (0) 2006.02.24