관리 메뉴

심재운 블로그

클래스를 구현해 보자. 본문

닷넷관련/CSharp

클래스를 구현해 보자.

재우니 2009. 2. 12. 02:07

자~클래스는 멤버변수와 벰버함수 즉 메소드로 구성되어 있는데요.

클래스 형태를 먼저 살펴보죠.

public class Hello
{
}


위에서 public 은 접근자를 나타낸답니다. 클래스를 어떻게 접근할 건지..
여자에게 다가갈때도 남자들은 어떻게 접근할 건지 생각을 많이 하죠?


클래스 접근하는 방법이 여러가지가 있습니다.(연애학이 아닌데 ^^;)


- public : 어디서든지 접근가능..(성격이 털털하니 접근이 쉽죠.)
- public abstract : 어디서든지 접근은 가능한데요. 인스턴스를 할 수없어요.
                          나중에 상속을 배울 건데요. 상속받은 경우에만 가능합니다.
- public sealed : 어디서든지 접근은 가능하죠. abstract 와 달리 상속은 안되고 인스턴스는 된다고 합니다.
- internal : 말그대로 "안의"라는 뜻으로 현프로젝트 안에서만 접근가능해요.




■ 소스를 하나 분석해 보죠.





5번부터 7번까지가 멤버변수를 설정한 것이며, 9번부터 17번까지 멤버함수, 즉 메소드를 기술했습니다. 반환할 값이 없어서 void 로 처리 했습니다. 변수는 이름, 색깔, 기어를 작성했으며, 메소드는 자동차가 기어1단계부터 4단계까지 움직이기 때문에 메소드를 작성했습니다.

up() 메소드를 호출하면 1단계씩 증가가 됩니다. Down()메소드를 호출하면 1단계씩 줄어들겠죠.

23번째에 나오는 new 연산자를 이용하여 자동차 객체를 생성합니다. public 접근자를 이용해서 어디서든 접근이 가능토록 했죠. 24번째줄은 객체를 생성한 자동차 이름을 지어주고, 25번째는 색깔을 입혀 주고, 그 다음 Up() 메소드를 호출했습니다.

결과값은...?





posted by 심재운 (shimpark@gmail.com)


2 Comments
  • 프로필사진 배우는사람 2010.04.26 15:43 안녕하세요. 강좌를 올려주셔서 감사합니다. 글을 보다 이상한 점이 있어서 질문을 올립니다.
    위 글에서 예제를 보면 변수들이 모두 인스턴스 변수인데... 인스턴스 변수의 경우 개체를 통해서만 접근이 가능하다고 알고 있습니다.
    그래서 같은 클래스 내에서는 gear가 아닌 this.gear 라고 표현해야 되는 것이 아닌지요?? ... (Up 이나 Down 메소드 내에서)
  • 프로필사진 Favicon of https://aspdotnet.tistory.com BlogIcon 재우니 2010.04.28 13:00 신고 http://aspdotnet.tistory.com/entry/this-키워드에-대한-설명

    강좌를 참고하시고욤. this 키워드는 생략이 가능합니다. 왠만하면 this 키워드로 명시해 주는게 더 깔끔하겠지요..^__^
댓글쓰기 폼