객체 지향 프로그래밍

newVelog·2023년 11월 17일
0

CS

목록 보기
2/31

객체 지향 프로그래밍

객체 지향 프로그래밍 (Object-Oriented Programming, OOP)은 프로그래밍에서 필요한 데이터를 추상화 시켜 상태와 행위를 가진 객체로 만들고, 객체들간의 상호작용을 통해 로직을 구성하는 프로그래밍 방법이다.

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

1. 캡슐화(Encapsulation)

데이터와 데이터를 조작하는 메소드를 하나로 묶는 것을 의미
이를 통해 외부에서 직접적인 데이터 접근을 제한하고, 데이터의 안정성을 보장

2. 상속(Inheritance)

한 클래스의 속성과 메소드를 다른 클래스가 받아 사용할 수 있게 하는 것
코드의 중복을 줄여주고 유지 보수를 용이하게 함

3. 다형성(Polymorphism)

한 메소드나 클래스가 있을 때 이를 여러 가지 방법으로 동작하게 하는 것
메소드나 클래스를 유연하게 사용할 수 있게 함

4. 추상화(Abstraction)

복잡한 시스템을 간단하게 만드는 과정
필요한 속성과 메소드만을 추려내어 클래스를 정의하는 것

5. 모듈성(Modularity)

프로그램을 독립된 하부 시스템 또는 모듈로 분리하는 것
각 모듈은 독립적으로 작동하며, 다른 모듈과는 정의된 인터페이스를 통해서만 통신

6. 정보 은닉(Information Hiding)

객체의 내부 정보를 외부로부터 숨기는 것
객체의 내부 데이터를 보호하고, 외부에서는 해당 객체의 메소드를 통해서만 접근할 수 있도록 함

이러한 특징들 덕분에 객체지향 프로그래밍은 현실 세계의 복잡한 문제를 해결하는 데 도움을 준다. 각 객체는 독립적으로 동작하며, 상호 작용하면서 전체 시스템을 구성하게 된다. 이는 유지 보수와 확장성이 용이하며, 대규모 소프트웨어 개발에 적합한 방식이다.

0개의 댓글