나 개발자 진짜 되냐?

[ C# 기본 문법 14 ] 객체 지향 프로그래밍? 그게 뭘까? 본문

C# 을 맛보았어요!/문법정리를 해보았어요!

[ C# 기본 문법 14 ] 객체 지향 프로그래밍? 그게 뭘까?

Snow Rabbit 2024. 9. 23. 10:15

 

다양한 코드들을 만나면서

객체지향이다 아니다 뭐 

이런 이야기 많이 했었던 기억이 있다.

 

객체지향이라는 게 무엇이고

그들의 특징이 무엇인지 공부해 보자!

 


객체지향 프로그램에는 특징이 있다.

 

 

🌟 캡슐화 🌟

 

관련된 데이터와 기능을 하나의 단위로 묶는 것을 의미

 

클래스를 사용하여

데이터와 해당 데이터를 조작하는 메서드를 함께 캡슐화하여

정보를 은닉하고, 외부에서 직접적인 접근을 제한함으로써

안정성과 유지보수성이 높은 편!

 

 

🌟 상속 🌟

 

클래스를 확장하여 새로운 클래스를 만드는 메커니즘

 

부모 클래스(상위 클래스, 슈퍼 클래스)의 특성과 동작을

자식 클래스(하위 클래스, 서브 클래스)가 상속받아 재사용할 수 있다!

 

이런 상속은

코드의 중복을 줄이고,

클래스 간 계층 구조를 구성하여

코드의 구조화와 유지보수를 용이하다.

 

쉽게 예를 들어서

요리사든 변호사든 의사든

다 같은 사람이듯,

사람이라는 부모 클래스에서

내려온 여러 자식클래스들은

각자 자리하는 곳에서 

할 수 있는 일, 해야 하는 일을 한다.

 

 

🌟 다형성 🌟

하나의 인터페이스나 기능을

다양한 방식으로 구현하거나 사용할 수 있는 능력

 

하나의 메서드 이름이 다양한 객체에서

다르게 동작할 수 있도록 하는 것

 

오버로딩오버라이딩을 통해 구현

 

유연하고 확장 가능한 코드 작성을 가능하게 하고,

코드의 가독성과 재사용성을 높인다.

 

 

🌟 추상화 🌟

복잡한 시스템이나 개념을 단순화하여 필요한 기능에 집중하는 것

 

클래스나 인터페이스를 사용하여 실제 세계의 개념을 모델링

 

세부 구현 내용을 감추고 핵심 개념에 집중함으로써

코드의 이해와 유지보수를 용이

 

 

🌟 객체🌟

객체는 클래스로부터 생성된 실체

. 객체는 상태(데이터)와 행동(메서드)을 가지며, 

실제 세계의 개체나 개념을 모델링

 

객체들 간의 상호작용을 통해 프로그램이 동작하고, 모듈화와 재사용성을 높인다.