ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [C# 기본] 6. 클래스
    C#/강의 | Lecture 2018. 11. 29. 22:27

    1. 클래스

    1-1. 변수와 메서드를 그룹화한 것


    1-2. 그룹화를 위해 class 키워드와 형식 사용


    1-3. new 연산자로 생성하여 사용


    1-4. new를 사용하지 않으면 같은 클래스를 참조할 수 있는 변수가 됨

    - 반드시 참조 해야함


    1-5. 클래스를 new를 통해 생성하면 객체가 됨


    1-6. 인스턴스는 본질이고, 객체는 실물인 형상

    - A test1 = new A(); // A test1은 객체, new A()는 인스턴스

      A test2 = new A(); // A test1은 객체, new A()는 인스턴스






    2. 클래스 형식과 접근 한정자

    2-1. 클래스 형식은 아래와 같음

    - class class_name

      {

        // 멤버 변수, 함수 정의

      }

    - class Date

      {

        int Year, Month, Day;

        void Print()

        {

          // todo...

        }

      }


    2-2. 접근한정자를 통해 클래스 멤버에 대한 접근 권한 설정

    - 종류는 private, protected, public의 특징은 C++에서 사용하는 것과 동일

    - public은 클래스 내외부에서 모두 접근 가능, 상속관계에서도 동일하게 접근 가능

    - private는 클래스 또는 구조체 안에서만 멤버에 접근, 클래스 외부에서 접근 불가

    - protected는 클래스 안에서는 private와 같은 역할, 상속받은 클래스 안에서 상위 protected 멤버 접근 가능

    - 접근한정자 class class_name

      {

        접근한정자 variable;

        접근한정자 method;

      }

    - 접근 한정자를 명시 하지 않을 경우 private가 기본값


    2-3. internal 접근한정자

    - C++에는 없는 접근 한정자이지만 사용 빈도가 적은 접근한정자

    - 같은 어셈블리(exe, dll) 안에 있을때만 내외부에서 멤버에 접근 가능

    - 클래스 정의 서두에 접근 한정자 생략은 internal 생략한 것

    - protected internal 접근 한정자도 있는데, 거의 사용하지 않음






    3. 객체 생성 및 멤버 접근

    3-1. 객체 생성 키워드는 new, 객체 해제는 가비지컬렉터가 존재

    - C++에서 사용한 delete 키워드는 사용하지 않음


    3-2. 객체의 멤버는 '.'과 함께 표시

    - 멤버 변수 접근은 object_name.variable

    - 멤버 함수 접근은 object_name.method






    4. 생성자와 소멸자

    4-1. 생성자는 객체를 생성할 때 자동으로 호출되는 메서드, new 에서 호출


    4-2. 기본생성자는 클래스명과 같은 이름으로 매개변수와 리턴형은 없으며, 접근 한정자는 public


    4-3. 매개변수가 있는 생성자는 매개변수가 있다는 점 빼고는 동일


    4-4. 소멸자는 객체가 소멸될 때 호출되는 메서드, 가비지컬렉터에서 호출


    4-5. 소멸자는 클래스명과 같고 리턴형과 접근 한정자, 매개변수가 없으며 '~'로 시작


    4-6. 소멸자는 클래스에만 있고, 상속이나 오버로딩 불가,






    5. 정적 멤버 선언과 사용

    5-1. C#에서 클래스 내부의 static은 객체를 생성하지 않고 멤버를 사용하는 목적

    - C에서는 변수 값 유지(글로벌 변수), C++에서는 객체 안에서 변수 공유


    5-2. Main()은 static으로 선언되어있으므로, static으로 선언된 함수와 변수 호출 가능






    6. 클래스 참조

    6-1. 클래스 형태는 선언한 클래스와 new로 생성한 클래스 2가지로 나뉨

    - 선언한 클래스는 참조형 클래스 변수

    - new로 생성한 클래스는 객체

    - MyClass MyTest = new MyClass(); // 객체 생성

      MyClass MyRef = MyTest; // 참조 변수






    7. this 키워드

    7-1. this는 객체 자신을 참조하는 키워드, C++에서 사용하는 방식과 의미가 동일


    7-2. 사용 형식은 아래와 같음

    - this.member


    7-3. 메소드의 매개변수와 멤버 변수명이 같을 때 사용

    - this.member_variable = 매개변수;

    - this.number = number;

    'C# > 강의 | Lecture' 카테고리의 다른 글

    [C# 기본] 7. 속성과 인덱서  (0) 2018.11.29
    [C# 기본] 5. 파일입출력  (0) 2018.11.29
    [C# 기본] 4. 배열  (0) 2018.11.29
    [C# 기본] 3. 기본 문법  (0) 2018.11.29
    [C# 기본] 2. 데이터형  (0) 2018.11.28

    댓글

Designed by Tistory.