본문 바로가기

유니티 프로그래밍/C# 프로그래밍

C#에서의 추상화, 구체화 간단히 설명

객체지향언어의 필수 특성이라고 할 수 있는 추상화와 구체화가 있는데

 

막상 이 용어들을 들으면 어려울 수 있어서 간단히 정리를 해둔다.

 

1. 추상화

추상화는 클래스의 이름을 짓고 역할 정도만 정해두는 단계를 뜻한다.

다만 이 단계에서는 구체적인 것들을 정하지 않아야 나중에 더욱 좋은 객체지향적이며 구조적인 프로그래밍을 할 수 있다.

 

2. 구체화

추상화 된 클래스들을 구체적으로 프로그래밍 하는 것을 뜻한다.

예를 들면 추상화를 통해 클래스를 만들었다면, 구체화를 통해 그 클래스를 인스턴스화 시키고, 실제적으로 사용하는 프로그래밍을 하는 단계이다.

 

클래스로만 있을때는 설계도면만 존재한다고 생각한다면

new 키워드를 통해 인스턴스화 된다면, 이는 실제적으로 지어진 건물이라고 생각하면 좋다.

 

같은 설계도면을 통해 여러개의 건물을 만들 수 있듯이,

인스턴스 역시 같은 클래스(설계도)를 통해 여러개 만들어서 사용이 가능하다