작성자: 박종현(세티)
작성일: 2007년 10월 10일
작성로그: C#클래스에 대한 기본적인 구성과 객체의 기초에 대해 알아보자.
본 글 내용에 대한 임의적 편집을 허가하지 않습니다.
객체지향언어(OOP) - Object Oriented Programming
객체(Object or Instance) - 프로그래밍에서 설계하고자 하는 대상의 추상적 단위
클래스의 구성요소
● 제한자 - private, public, protected, internal
● 변경자 - static
● 구성요소 - Constructor, Destructor, Property, Indexer, Field, Delegate, Method, Event
(소멸자와 인덱서에는 static 변경자를 사용할 수 없음)
C# 코드에서 클래스임을 선언하는 방법
namespace NamespaceName
{
class ClassName
{
}
}
객체 생성의 골격
ClassName cn = new ClassName();
클래스 이름 - ClassName
객체 이름 - cn
new 연산자
생성자
클래스의 예
class ClassName
{
public ClassName() // 생성자(Constructor)
{}
private int m_Member; // 사적 멤버 변수(Private Member Field)
protected int b_Member; // 보호 멤버 변수(Protected Member Field)
public static int s_Member; // 공적 정적 멤버 변수(Protected Member Field)
public int Member // 접근자(Property)
{
get { return m_Member; } // Get property
set { m_Member = value; } // Set property
}
public void MemberMethod(){ } // 공적 멤버 메소드 (Public Member Method)
public static void StaticMemberMethod(){ } // 공적 정적 멤버 메소드
public event EventName(); // 공적 이벤트
}
위의 디자인된 클래스를 아래의 예제처럼 객체화 할 수 있다.
객체화란?
- 디자인 클래스에서 정의된 변수들을 저장할 수 있는 메모리 공간을 확보하는 과정
ClassName cn = new ClassName(); // 객체 생성
cn.Member = 1; // set property 사용 예
int val = cn.Member // get property 사용 예
cn.MemberMethod(); // 멤버 메소드 사용 예
ClassName.staticMemberMethod(); // 정적 멤버 메소드 사용 예
(정적 멤버 메소드는 클래스 자체의 이름을 사용한다.)
[이 게시물은 최고관리자님에 의해 2012-12-20 11:00:41 프로그래밍 강좌에서 이동 됨]