• 회원가입
  • 로그인
  • 구글아이디로 로그인

[class] C# - Class Members (클래스 멤버) - 속성(=필드), 메서드

2,735  
목차
  1. Class Members (클래스 멤버)
  2. Fields (필드)
  3. Methods (메서드)
  4. Multiple Classes (여러 클래스)

 

Class Members (클래스 멤버)

 

필드(= 속성) : 값 담는 변수

메서드 (= 함수) : 특정 동작 수행.

 


[예제]

 

class Hz

{

    string host = "Homzzang.com";

    int open = 2012; 

    public void sayHello()

    {

        Console.WriteLine("코딩 배우러 놀러오세요.");

    }

 

 

Fields (필드)

 

클래스 안에서 특정 값을 담는 '변수' 의미.

※ '속성'이라 부르기도 함.

※ 객체 뒤에 마침표 찍고 변수명 기재해 필드에 접근.

(예) obj.field

 


[예제1]

 

using System;

namespace Homzzang

{

  class Hz 

  {

    string host = "Homzzang.com";

    int open = 2012;


    static void Main(string[] args)

    {

      Hz hzObj = new Hz();

      Console.WriteLine(hzObj.host);

      Console.WriteLine(hzObj.open);

    }

  }

}


결과값:

Homzzang.com

2012


[예제2] 

※ 필드 생성 시 값을 비워두고, 나중에 객체 생성 시 할당 가능.

 

using System;

namespace Homzzang

{

  class Hz 

  {

    string host;

    int open;


    static void Main(string[] args)

    {

      Hz hzObj = new Hz();

      hzObj.host = "Homzzang.com";

      hzObj.open = 2012;      

      Console.WriteLine(hzObj.host);

      Console.WriteLine(hzObj.open);

    }

  }

}


결과값:

Homzzang.com

2012


PS. 예제2 방법은 한 클래스로 여러 객체 생성 시, 유용.

 

using System;

namespace Homzzang

{

  class Member 

  {

    string id;

    int level;


    static void Main(string[] args)

    {

      Member mb1 = new Member();

      mb1.id = "sinbi";

      mb1.level = 2;

      Member mb2 = new Member();

      mb2.id = "sir";

      mb2.level = 3;

      Console.WriteLine(mb1.id + ": " + mb1.level);

      Console.WriteLine(mb2.id + ": " + mb2.level);

    }

  }

}


결과값:

sinbi: 2

sir: 3 

 

Methods (메서드)

 

1.

메서드 (= 클래스에 속하는 함수) 정의 방법 2가지.

ⓘ 클래스  메서드 정의. (예제1)

② 클래스  메서드 정의. (예제2)

 

2.

메서드 호출하려면, 객체 뒤에 마침표 (.) 찍고 메서드명() 기재.

(예) obj.method();

 

3.

static 수정자 : 객체 생성 안 하고도 접근 가능.

public 수정자 : 객체 생성 통해서만 접근 가능.

 


[예제] 클래스 안 메서드 정의. 

 

using System;

namespace Homzzang

{

  class Hz

  {

    string host;

    int open;

    public void sayHello() 

    {

      Console.WriteLine("코딩 배우러 놀러오세요.");

    }


    static void Main(string[] args)

    {

      Hz hzObj = new Hz();

      hzObj.sayHello();

    }

  }

}

 

결과값: 코딩 배우러 놀러오세요.

 

Multiple Classes (여러 클래스)

 

※ 클래스 정의와 객체 생성을 별도의 파일로 분리.

 


1. Hz.cs 생성. (※  클래스 정의 파일)

 

using System;


namespace Homzzang

{

    class Member

    {

        public string id;

        public string name;

        public int level;

        public void sayHello(string x)

        {

            Console.WriteLine(x + " 님, 반가워요.");

        }

    }

}

 


2. Index.cs 생성. (※ 객체 생성 / 출력 파일)

 

using System;

namespace Homzzang

{

    class Index

    {

        static void Main(string[] args)

        {

            Member mb1 = new Member();

            mb1.id = "sinbi";

            mb1.name = "신비";

            mb1.level = 2;


            Member mb2 = new Member();

            mb2.id = "sir";

            mb2.name = "그누";

            mb2.level = 3;


            mb1.sayHello(mb1.name);

            mb2.sayHello(mb2.name);

        }

    }

}


결과값:

신비 님, 반가워요.

그누 님, 반가워요. 



분류 제목
basic C# - Home (입문) - 추천 링크
basic C# - Intro (소개) - 용도・특징
basic C# - Start (시작) - Visual Studio Community 설치/실행/세팅
basic C# - Syntax (구문)
basic C# - Output (출력)
basic C# - New Lines (줄바꿈)
basic C# - Comment (주석)
basic C# - Variable (변수)
basic C# - User Input (사용자 입력)
basic C# - Data Type (데이터 타입) - 자료형 (종류 + 변환)
basic C# - Operator (연산자)
basic C# - String (문자열)
basic C# - Math (수학)
basic C# - Boolean (참거짓)
basic C# - If ... Else - (이프 조건문)
basic C# - Switch (스위치 조건문)
basic C# - While Loop (와일 반복문)
basic C# - For Loop (포 반복문)
basic C# - Break/Continue (브레이크/컨티뉴) 키워드 - 반복문 빠져나가기 / 특정 조건 건너띄기
basic C# - Arrays (배열)
1/2
목록
찾아주셔서 감사합니다. Since 2012