본문 바로가기
게임 프로그래밍/게임개발 초급

게임개발 초급(4) - 객체지향과 접근제한자

by jyppro 2023. 4. 16.

객체지향과 접근제한자

기본적으로 C#은 객체지향 언어입니다. 따라서 객체지향의 특징을 띄고 있습니다. 그중에서도 저희가 알아볼 것은 접근제한자 입니다. 우선 객체지향이 뭔지 모를 수 있으니 객체지향에 대해서 먼저 알아보겠습니다.

 

객체지향 프로그래밍(Object-Oriented Programming, OOP)은 현실 세계의 개념을 프로그래밍에 적용한 패러다임입니다. 객체지향 프로그래밍에서는 데이터와 기능을 하나의 단위인 객체(Object)로 묶어서 관리합니다. 이를 통해 코드의 재사용성과 유지보수성이 향상되며, 코드의 가독성과 이해도도 높아집니다.

객체지향 프로그래밍의 특징은 다음과 같습니다.

캡슐화(Encapsulation): 데이터와 기능을 하나의 단위인 객체로 묶어서 외부에서의 접근을 제한하는 것을 말합니다. 이를 통해 데이터의 보안성과 코드의 유지보수성을 향상시킵니다.

상속(Inheritance): 기존 클래스를 재사용하여 새로운 클래스를 만드는 것을 말합니다. 이를 통해 코드의 재사용성과 유지보수성을 향상시키며, 코드의 가독성과 이해도도 높아집니다.

다형성(Polymorphism): 하나의 클래스나 메서드가 다양한 형태로 동작할 수 있는 것을 말합니다. 이를 통해 코드의 유연성과 확장성을 향상시키며, 코드의 가독성과 이해도도 높아집니다.

 

 

이제 객체지향에 대해서는 어느정도 이해하셨다고 생각합니다. 그렇다면 접근제한자가 무엇인지 한번 알아보겠습니다.


객체지향 프로그래밍에서는 접근제한자(Access Modifier)를 사용하여 객체의 데이터나 기능에 대한 접근을 제한할 수 있습니다. C#에서의 접근제한자는 다음과 같습니다.

public: 어디서든 접근이 가능합니다.

private: 클래스 내부에서만 접근이 가능합니다.

protected: 클래스 내부와 자식 클래스에서만 접근이 가능합니다.

internal: 같은 어셈블리 내에서만 접근이 가능합니다.

객체지향 프로그래밍에서는 캡슐화를 통해 데이터의 보안성을 높이기 위해 private 접근제한자를 사용하고, 상속을 통해 코드의 재사용성을 높이기 위해 protected 접근제한자를 사용합니다. 또한, public 접근제한자를 사용하여 객체의 데이터나 기능에 대한 외부 접근을 제공합니다.

 

자바에서 사용하는 접근제한자는 C#과 약간 다릅니다. 거의 대부분의 언어에서 public, private, protected는 같습니다. 하지만 자바에서는 internal 대신 default를 사용합니다. 저희는 C#에서의 접근제한자를 알아보았습니다.

 

다음에는 조건문과 반복문에 대해서 살펴보겠습니다. 감사합니다.