본문 바로가기
프로그래밍/C#

[C#] 클래스 class

by 아임코딩 2023. 5. 5.
728x90
반응형

소개

 

안녕하세요 아임코딩입니다.

이번에는 C#의 핵심이라고 할 수 있는 클래스에 대해서 알아보겠습니다.

 

클래스란?

 

객체 지향 프로그래밍에서 가장 중요한 개념 중 하나가 클래스입니다.

클래스는 데이터와 메서드를 하나의 단위로 묶어서 캡슐화하고, 이를 통해 객체를 생성하고 사용합니다.

간단히 말하면 클래스는 데이터와 그 데이터를 이용할 메서드를 정의해놓은 것입니다.

 

클래스는 일종의 설계도와 같은 역할을 합니다. 

설계도를 만들어놓고 그 설계도에 맞게 실체를 만든 것이 객체입니다.

C#에서는 클래스 이름은 대문자로 시작하고, 일반적으로 명사 형태로 지정합니다.

 

유튜브 링크

 

https://youtu.be/7tSEmLKdDz8

 

 

클래스 기본 형태

[접근제한자] class [클래스 이름]
{
	//데이터 
    
    
	//메서드
}

 

접근 제한자에 대한 내용은 접근제한자를 다룬 글을 참조해주세요.

클래스에 대한 내용에 집중하기 위해서 접근제한자는 public으로 통일하겠습니다.

 

클래스 예시

간단한 클래스를 만들어보겠습니다.

    public class Person
    {
        public string name = "tom";
        public int age = 22;

        public void PrintName()
        {
            Console.WriteLine("Name : " + name);
        }
        public void PrintAge()
        {
            Console.WriteLine("Age : " + age);
        }
    }

 

C#으로 간단한 클래스를 구현한 예입니다.

클래스의 이름은 Person 으로 사람을 구조화한 것입니다.

Person 클래스의 데이터들은

string 형식의 name과

int 형식의 age가 있습니다.

이름과 나이 데이터를 설정해놨습니다.

그리고 메서드는

이름을 출력하는 PrintName() 메서드

나이를 출력하는 PrintAge() 메서드가 있습니다.

 

클래스는 일종의 설계도와 같다고 했습니다.

이렇게 클래스를 정의해놓는다고해서 실제로 사용할 수 있는 것은 아닙니다.

이 클래스를 실제로 사용하려면 클래스로 만든 객체가 필요합니다.

 

객체 생성 방법

객체를 만드는 방법은 다음과 같습니다.

Person myPerson = new Person();

 

Person 클래스의 myPerson 이름을 가진 객체를 생성한 것입니다.

new Person(); 코드는 Person 클래스의 객체를 반환합니다.

 

Person 클래스 안에는 PrintName() 메서드와 PrintAge() 메서드가 있습니다.

myPerson 객체를 통해서 그 메서드를 호출할 수 있는데 방법은 다음과 같습니다.

 

메서드 호출 방법

myPerson.PrintName();
myPerson.PrintAge();

 

myPerson이 가진 메서드에 접근하는 방법입니다.

 

위에서 소개한 코드들을 합쳐서 실행해보겠습니다.

 

 

예제 코드

using System;
namespace CSTistory
{
    public class Person
    {
        public string name = "tom";
        public int age = 22;
        public void PrintName()
        {
            Console.WriteLine("Name : " + name);
        }
        public void PrintAge()
        {
            Console.WriteLine("Age : " + age);
        }
    }
    internal class Program
    {
        static void Main(string[] args)
        {
            Person myPerson = new Person();

            myPerson.PrintName();
            myPerson.PrintAge();
        }
    }
}

코드 실행 화면

 

Person 클래스가 정의되어 있고

Person 클래스의 실체인 객체 myPerson 이 선언되고 할당됩니다.

myPerson.PrintName() 과 myPerson.PrintAge() 를 통해서 myPerson 객체가 가진 메서드가 호출이 되는 것입니다.

따라서 결과는

Name : tom

Age : 22

가 출력이 됩니다.

728x90
반응형

'프로그래밍 > C#' 카테고리의 다른 글

[C#] 객체지향 프로그래밍 언어 특징  (0) 2023.05.05
[C#] 메서드  (0) 2023.05.05
[C#] 배열  (0) 2023.05.04
[C#] while 반복문  (0) 2023.05.04
[C#] for 반복문  (0) 2023.05.04