C# 기초 문법 - 클래스와 객체
이 게시물은 C# 공부과정을 정리해놓은 것입니다 사용하는 툴은 Visual Studio 2022 입니다. 해당 툴을 사용하는 이유는 추후에 다룰 Unity에서 연계하여 사용하기 위함입니다.
C#에 대한 더 많은 포스팅은
CATEGORIES의C#을 확인하세요.
클래스와 객체
객체지향이란?
하나가 아닌 여러개의 무언가(객체)가 서로 상호작용하면서 연결되서 실행되는 것입니다.
객체지향 특징
객체지향의 특징으로는 크게 4가지가 있습니다.
- 캡슐화
- 데이터와 코드를 외부에서 알 수 없게 감추는 것입니다.
- 외부에서는 필요한 정보만 알면 됩니다.
- 추상화
- 객체들의 공통적인 특징은 추려내는 것입니다.
상속
- 하위 클래스가 상위 클래스의 모든 것을 활용가능합니다.
- 클래스를 재사용하여 반복적인 코드를 줄일수 있습니다
다형성
- 프로그램 언어의 각 요소(상수, 변수, 식, 오브젝트, 함수, 메소드)들이 여러가지 타입을 가질수 있습니다.
이러한 특성들 덕에 장점이 많습니다.
- 코드 재사용이 용이합니다.
- 코드 생산성이 높아집니다.
- 유지보수에 용이합니다.
클래스란?
하나의 예를 들어보겠습니다
1
2
3
4
5
6
7
8
9
10
11
12
string name1 = "철수";
string class1 = "1학년;
int age1 = 8;
string name2 = "영희";
string class2 = "4학년;
int age2 = 11;
string name3 = "민수";
string class3 = "6학년;
int age3 = 13;
현재는 학생이 3명이지만 학생이 100명 아니 1000명이 넘어가면 코드 길이가 엄청 길어지고 가독성도 많이 떨어집니다.
하지만 class를 이용하면 이 데이터들의 공통된 부분을 추상화 할수 있습니다.
클래스 생성
1
2
3
4
5
6
class Student
{
public string name;
public string classNo;
public int age;
}
클래스 영역안에서는 변수를 만들거나 함수를 만들 수 있습니다. 하지만 함수의 호출이나 계산 등의 동작은 할 수 없습니다. 이러한 경우 함수를 하나 더 만들어서 그 안에서 필요한 내용을 작성하면 됩니다.
1
2
3
4
5
6
7
8
9
10
11
class Student
{
public string name;
public string classNo;
public int age;
public void test()
{
Console.WriteLine("저는 "+name+"입니다");
}
}
클래스의 활용
클래스를 사용하려면 새로운 객체를 만들어야합니다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Student newStudent = new Student();
newStudent.name = "마이클";
newStudent.classNo = "5학년";
newStudent.age = 12;
newStudent.test();
class Student
{
public string name;
public string classNo;
public int age;
public void test()
{
Console.WriteLine("저는 " + name + "입니다");
}
}
클래스와 객체에 대해 알아봤습니다.
다음 포스팅은 Unity 개발로 올거 같습니다.
This post is licensed under CC BY 4.0 by the author.
