Deff_Dev

[Unity/C#] 객체 지향 프로그래밍 본문

Unity(유니티)/유니티 공부

[Unity/C#] 객체 지향 프로그래밍

Deff_a 2024. 3. 9. 00:26

해당 포스팅은 고박사님의 유니티 C# 강의를 보고 공부한 내용과 추가적으로 공부한 내용을 정리한 포스팅입니다.

 

객체 지향 프로그래밍

  • 객체를 기반으로 하는 프로그래밍 (OOP, Object Oriented Programming)
  • 프로그램을 여러 개의 독립된 객체 단위로 분할해 각각의 객체들이 메세지를 주고받고, 데이터를 처리할 수 있다.

객체

  • 세상의 모든 것을 지칭 (사람, 자동차 등)
  • 세상의 모든 것을 가상의 공간에서 표현해야하기 떄문에 데이터를 나타내는 속성과 행위를 나타내는 기능으로 구분해 객체의 특징을 뽑아서 사용한다.

ex) 자동차

  • 속성 : 바퀴, 핸들, 기어, 브레이크, 엔진 등
  • 기능 : 시동을 킨다 ,전진한다 , 후진한다 , 멈춘다 등

객체 지향 프로그래밍의 특징

  • 추상화 : 객체의 공통적인 속성과 기능을 추출하여 정의
  • 상속 : 기존 클래스를 재활용하여 새로운 클래스를 작성
  • 다형성 : 어떤 객체의 속성이나 기능이 그 맥락에 따라 다른 역할을 수행할 수 있는 것 (오버로딩, 오버라이딩)
  • 캡슐화 : 서로 연관있는 속성과 기능들을 하나의 캡슐로 만들어 외부로부터 데이터를 보호하는 것

오버로딩(Overloading)

- 같은 이름의 메서드 여러개를 가지면서 매개변수의 유형과 개수가 다르도록 하는 기술

 

오버라이딩(Overriding) 

- 상위 클래스가 가지고 있는 메서드를 하위 클래스가 재정의해서 사용