s2-u2) 객체 지향 프로그래밍

강병규·2023년 1월 13일
0

객체지향 프로그래밍

프로그램을 데이터와 처리방법으로만 나누는게 아니라 프로그램들을 여러 "object(객체)"라는 단위로 나누어 서술하는 것으로 객체는 변수와 메소드의 묶음이라 볼 수 있다.

객체 지향 프로그래밍이 만들어진 이유

초기의 프로그래밍 방식은 절차적 프로그래밍 방식이었는데 이는 명시된 순서대로 처리하고 그 결과를 내는 것으로 어떠한 논리를 순서대로 나열하는 것과 같았다. 이러한 방식은 복잡해질수록 순서도로 표현하는게 어려워 예를 들어 이 코드는 어디에서 작동하는지 어디까지 이어지는지를 다른 사람은 물론 본인이 만든 코드조차 파악하기 어려워지는 문제가 있었다. 이러한 문제점을 해결하기 위해 객체 지향 프로그래밍이라는 프로그램 설계방법론이 만들어졌다.

OOP(객체 지향 프로그래밍)의 4가지 기본 개념

캡슐화

데이터(변수)와 기능(함수)을 하나의 단위로 묶는 다는 개념

  1. 정보 은닉성: 구현은 숨기고, 동작은 노출시킴 // 그러나 정보은닉!==캡슐화는 아님
  2. 느슨한 결합에 유리: 언제든 구현을 수정할 수 있음

추상화

추상화는 내부 구현은 아주 복잡한데, 실제로 노출되는 부분은 단순하게 만든다는 개념

  1. 필요한 부분만을 표현하여 목적과 상관이 없는 부분을 드러나지 않게 할 수 있다.

상속

상속은 부모 클래스의 특징을 자식 클래스가 물려 받는 개념

  1. 이러한 과정을 통해 최대한의 코드 중복을 방지할 수 있음-> 개발 효율성 증대

다형성

형태가 같지만 다른 기능을 수행하는 개념

  1. 같은 이름의 속성을 유지해 속성을 가져오려는 인터페이스를 유지하며 기능(메서드)를 낭비하지 않음 -> 복잡해질 수록 유용한 개념

결론

조금씩은 결이 다르지만 큰 줄기로 보면 코드의 중복과 불필요한 재사용을 막기 위한 설계 방법론들이라 할 수 있다.

profile
ㅇㅅㅇ

0개의 댓글