C# 기본기 정리(1/3)
3개로 나누게 되었다...............
01 : 클래스 메소드(Class Method)
대부분의 인터페이스(서버와 클라이언트 사이의 약속과 통신)은 메소드를 사용한다.
형식의 멤버에 지정될 수 있는 접근 한정자
|
형식에 지정될 수 있는 접근 한정자
|
메소드 매개변수 한정자
out 키워드
static void func(int a, int b, out int result)
{
result = a + b;
}
static void Main(string[] args)
{
int res;
func(5, 6, out res);
}
위의 코드에서 func 메소드에 넘겨준 out한정자 res는 앞에 인자 5,6 이 '값'을 복사하는것과는 다르게
Call by Reference 형식으로 전달한다.
즉 res의 메모리주소를 넘겨주므로, C/C++에서 & 와 같다.
ref 키워드
ref경우 호출할대 인자가 초기화 된 상태에서만 넘어가야하는점이 out호출과 다르다.
(out 은 굳이 초기화 하지않은 상태여도 됨)
크게 다르지 않고 사용법은 동일하다.
그러면 그냥 out만 써도....................될듯?
다른 class간의 서로 사용이 가능하도록 해주기도 합니다.
다음과 같이 Korea라는 같은 네임스페이스 안 에서 존재하면 이렇게 사용할 수 있다.
using 지시자
using 지시문은 두가지 용도로 사용할 수 있는데
- 특정 네임스페이스에 있는 형식을 한정하지 않고도 사용할 수 있도록 하려는 경우.
- 네임스페이스나 형식의 별칭을 만들려는 경우.
namespace Korea
{
class City
{
public int member;
public bool dokdo;
public City(int x)
{
member = x;
dokdo = true;
}
public void Print()
{
MessageBox.Show("GwangJu");
}
}
}
namespace Japan
{
class City
{
public int member;
public City(int x)
{
member = x;
}
public void Print()
{
MessageBox.Show("ToKyo");
}
}
}
다음과 같은 두개의 네임스페이스에서 City라는 클래스를 가지고있는데
using Korea;
using Japan;을 사용한
구역에서는 city 사용시 다음과 같은 에러가 발생한다.
Korea.City city1 = new Korea.City(5);
라고 선언할 수도 있겠지만 애초에 중복되는 City를 미리 선언하여 바꿀 수 있다.
상단에
using Korea;
using JCity = Japan.City;
라고 써준다면
후에 선언시 Korea의 City 를 그냥 사용할 수 있고, Japan의 경우
JCity city3 = new JCity(3);
처럼 선언이 가능하다.
'C#,WPF' 카테고리의 다른 글
[WPF] 마우스 드래그 소스 분석 (0) | 2012.02.26 |
---|---|
[WPF] Animation 예제(회전) (0) | 2012.02.25 |
[C#.NET] Transform 와 마우스 이벤트 (0) | 2012.02.25 |
[C#.NET] 델리게이트(Delegate) (0) | 2012.02.23 |
[WPF] Window의 크기에 따른 객체 크기 변화 (0) | 2012.02.23 |