쫑가 과정

객체 지향 프로그래밍의 원리 본문

Unity/이론

객체 지향 프로그래밍의 원리

쫑가 2021. 12. 21. 08:45

https://learn.unity.com/tutorial/principles-of-object-oriented-programming?uv=2020.3&pathwayId=5f7e17e1edbc2a5ec21a20af&missionId=5f751af7edbc2a0022cdbbb6# 

 

Principles of object-oriented programming - Unity Learn

In this tutorial you’ll learn about the basics of object-oriented programming paradigm and its four associated principles. By the end of this tutorial, you will be able to: Define encapsulation Define inheritance Define polymorphism Define abstraction Ex

learn.unity.com

Principles of object-oriented programming
 
프로그래밍에 대한 연습을 할수록 더 효과적인 방법을 생각하게 된다. 많은 방식 중 한가지인 객체 지향 프로그래밍을 보자.
 

객체 지향 프로그램 object-oriented programming

서로 관련된 Methods와 Variables 이 함께 그룹화되어 Object를 형성하는 프로그래밍 패턴.

OOP라고 부른다.

4가지 주요 원칙

추상화, 캡슐화, 다형성, 상속

추상화 Abstraction

다른 프로그래머가 볼 수 있는 스크립트에서 복잡한 코드를 제거하고 다른 프로그래머가 실제로 필요로 하는 기능만 노출하는 프로세스.

목표는 코드를 가능한 한 깨끗하게 유지하고 다른 프로그래머(또는 자신!)가 사용할 수 있도록 단순하게 유지

Rabbit 예제에서 Hop 메서드는 추상화의 좋은 예

캡슐화 Encapsulation

목적이 프로그래머를 코드 복잡성에서 분리하는 것이라는 점에서 추상화와 유사하지만 여기서는 접근성 형태의 코드 안전성에 더 중점을 둔다.

캡슐화된 코드에서 다른 프로그래머는 변수 값이나 개체 속성을 쉽게 변경할 수 없게 해서

다른 프로그래머를 위한 코딩 도구를 제공하고 그들이 의도한 대로 변수와 메서드만 사용하도록 한다.

다른 스크립트가 코드에 액세스 할 수 있는 다양한 방법을 모두 설명하는 것은 불가능하므로 의도한 대로만 수행할 수 있도록 만든 것을 캡슐화하는 것이 훨씬 좋다.

예를 들어 토끼의 귀 유형이 청각 능력에 영향을 미친다고 가정. 그렇다면 해당 값을 설정하면 나중에 변경하면 안 된다. 값을 보호하려면 값을 비공개로 설정하여 외부 스크립트가 값에 액세스하지 못하도록 해야 한다.

상속 Inheritance

자식 클래스(child classes)라고 하는 다른 클래스를 만들 수 있는 기본 클래스를 만드는 프로세스

자식 클래스(child classe)는 기본 또는 부모 클래스(parent classe)의 모든 기능을 자동으로 가져온다.

두 클래스에서 모두 사용해야 하는 코드를 다시 작성할 필요가 줄어듦

예를 들어 Bunny라는 새 클래스를 만들고 싶다고 가정.

상속이 없으면 기본적으로 이미 작성한 모든 코드를 복사하여 새 클래스에 붙여 넣어야 한다.

상속을 사용하면 Rabbit 클래스를 확장하기만 하면 해당 기능이 이미 존재하고 Bunny 클래스에서 액세스 할 수 있다.

다형성 Polymorphism

상속을 사용할 때 가장 유용한 측면 중 하나

부모 클래스(parent class)에서 상속된 코드에 대한 대체 기능을 만들 수 있다.

예를 들어 자식 클래스(child class)인 Bunny 클래스는 길들여진 토끼를 나타낼 거다.

토끼처럼 도약할 수 있지만 토끼는 야생 부모(parent class)보다 약간 더 느려야 한다면,

형성을 사용해 Hop 메서드의 내용을 재정의하고 Bunny에 고유한 사용자 지정 코드를 작성할 수 있습니다.

메서드 호출은 동일하게 유지되지만 호출된 엔터티에 따라 올바른 코드가 호출된다.

 

이후에 하나씩 자세하게 알아보자.

Comments