객체지향 프로그래밍 (OOP)
프로그램이 내용이 늘어나면서 변수도 많아져 해석하는데 시간이 오래 걸린다. 그래서 동일한 목적이나 기능을 하는 변수와 함수들을 묶어 객체로 만든다. 그 객체들을 이용하여 서로 상호 작용사켜 전체 프로그램이 돌아가도록 코드를 구성한다.
OOP(Object Oriented Programming)이란 실제 세계에서 존재하는 객체를 속성과 기능으로 나누어 분류하여 프로그램 세계로 정의한다. 그래서 실제 세계에서 존재하는 객체를 컴퓨터 속에 옮겨 놓는다.
이와 같은 방식의 코드 작성 프로그래밍 방식을 OOP라고 한다.
내장 데이터 타입 (Built in data type)
sbyte, byte, char, short, ushort, int , uint, long, ulong 등 기본적으로 제공되는 데이터 타입을 말한다.
이러한 데이터 타입의 경우 정해진 타입에 해당하는 데이터만 넣을 수 있다.
정해진 타입외에 다른 방식을 적용하기 위해 구조체와 클래스를 사용한다.
구조체와 클래스란 여러 종류의 변수들을 묶어서 새로운 데이터 타입을 만들 수 있는 방법을 제공한다.
클래스 (Class)
- 객체를 정의해놓은 것
- 객체를 생성하기 위한 설계도 정도
- 클래스 선언 방법
namespace 안에서 클래스 키워드와 클래스명을 입력하고 ()로 묶어준다.
class 클래스명()
- 클래스 안에 선언된 변수 종류
- 멤버변수(member variable) or 필드(field)
- 클래스 안에 선언된 모든 요소
- 멤버(member)
- Kitchen 클래스 예제
class kitchen
{
//멤버 변수
public string name;
public int number;
//메소드
public void Tool()
{
Console.WriteLine("Knife");
Console.WriteLine("Spoon");
}
//메소드
public void Cook()
{
Console.WriteLine("meal");
Console.WriteLine("rice");
}
}
객체 (Object)
객체는 사물 처럼 유형적인 또는 무형적인 것들을 말한다. 즉, 행위가 미치는 목적물을 말한다.
프로그래밍에서의 객체는 클래스에 정의된 내용이 메모리에 생선된다.
- 인스턴스화(Instantiation)
클래스로부터 객체를 만드는 과정
- 클래스의 인스턴스(Instance)
어떤 클래스로부터 만들어진 객체
- 클래스를 이용하여 객체 생성 과정
클래스 ▶ 인스턴스화 ▶ 인스턴스(객체)
- 객체 생성
객체를 생성할 때는 new 연산자를 사용한다.
new 연산자는 객체를 생성하고 생성자를 호출하는데 사용된다.
[객체가 가지고 있는 메소드 사용]
해당 객체에 들어있는 멤버에 접근을 하려면 점 연산자 " . "를 사용한다.
public Form1()
{
InitializeComponent();
Man man = new Man();
man.Eat(); // 생성된 Man class에서 Eat() 메소드 사용
}
class Man
{
public string name = "Lee";
public int age = 0;
public void Eat()
{
MessageBox.Show(name + " " + "냠냠");
}
public void Sound()
{
MessageBox.Show("으악");
}
}
'C# > C# 개념 다지기' 카테고리의 다른 글
[C#] 구조체(Structure) (0) | 2022.03.31 |
---|---|
[C#] base 키워드, 중첩 클래스(Nested Class), 분할 클래스(Partial Class) (0) | 2022.03.30 |
[C#] 상속(Inheritance), 접근제한자(Access Modifier) (0) | 2022.03.30 |
[C#] 생성자(Constructor), this 키워드 (0) | 2022.03.29 |
[C#] 변수(Variable), 상수(Constants), 열거형(Enum) (0) | 2022.03.22 |