코딩 45일차 C/ C++

마스터피스·2023년 11월 16일
0

C/ C++ 

목록 보기
16/35
post-thumbnail

클래스 / 객체지향 - 게임 개발에 매우 중요한 개념

1) OOP

  • 객체지향 프로그래밍은 영어로 OOP, Object Oriented Programming이라고 합니다. 여기에서 객체란 어떤 속성과 행동을 갖고있는 개체를 말합니다.보통 class가 객체라고 볼 수 있는데 이는 정확한 말은 아닙니다. 하지만 일반적으로 class를 객체라고 부르거나 객체를 class라고 부른다고 해서 의미가 와전되지는 않습니다.

2) Abstraction(추상화)

  • 어떤 개체가 갖고있는 속성이나 행동을 프로그래밍할 목적에 맞게 간추려내고 필요한 부분만 가져와서 프로그램에 맞게 변형시키고 간추리는 것을 추상화라고 합니다. 이 추상화를 잘 할 수 있는 개발자가 더 좋고 더 편한 개발을 할 수 있으며 이것이 프로그램의 유지보수에도 많은 영향을 끼칩니다. 많은 사람들이 이 추상화라는 개념을 '추상 클래스, 추상 메서드' 와 혼동하여 사용하는데, 추상 클래스와 추상 메서드는 데이터의 추상화 하고는 다릅니다.

3) Inheritance (상속)

  • 상속이란 어떤 객체의 속성을 그대로 물려받아 재사용을 할 수 있다는 것을 말합니다. 우리가 객체를 활용하다 보면 공통된 속성들이 많이 나오게 됩니다. 이런 공통된 속성들을 잘 묶어내게 되면 더 큰 집합을 만들 수 있고 더 큰 집합체계에서 하나의 단일 개념을 만들어낼 수 있죠. 이 더 큰 집합을 하나의 클래스로 봤을 때 이 클래스를 상속받아 다른 클래스를 정의하여 코드의 재사용성을 높이고 좀 더 구조적인 개발을 할 수 있습니다.

4) 다형성

  • 이런 상속이라는 개념은 다형성이라는 개념을 추가로 만들어 냅니다. 다형성은 예시를 들어가면서 설명하는 게 가장 이해가 빠른데요. 동물을 상속받은 닭이 프로그래밍된 코드상에 있다면 닭이라는 개체는 동물 이라는 클래스라고 볼 수 있다는 것입니다. 이것이 다형성을 설명하는 가장 간단한 문장입니다.
profile
코딩 일지

0개의 댓글