본문 바로가기
Dev DBAN/개발 용어 핥아보기

개발 용어 핥아보기 - 객체 지향 프로그래밍

by 디반 2022. 1. 13. 14:59
반응형

객체 지향 프로그래밍?

소프트웨어의 각 요소들을 객체로 만든 후, 객체들을 조립해서 소프트웨어를 개발하는 기법입니다.

  • 객체 : 데이터와 이를 처리하기 위한 함수를 묶어 놓은 소프트웨어 모듈을 의미함
  • 클래스 : 공통된 속성과 연산을 갖는 객체의 집합을 의미함
  • 인스턴스 : 클래스에 속한 각각의 객체를 의미함
  • 메시지 : 객체들 간의 상호작용에 사용되는 수단. 객체의 동작이나 연산을 일으키는 외부의 요구사항을 의미함

특징?

캡슐화

  • 외부에서의 접근을 제한하기 위해 인터페이스를 제외한 세부 내용을 은닉하는 것
  • 데이터와 함수를 하나로 묶는 것(재사용성 용이, 변경 파급효과 적음)

정보은닉

  • 캡슐화의 중요 개념. 캡슐 내의 세부 내용을 외부에 숨기는 것. 자신만의 연산으로 접근 (자바의 접근제어자)
  • private : 자기 클래스 내부의 메서드만 접근 허용
  • protected : 자기 클래스, 상속받은 자식 클래스에서의 접근을 허용
  • public : 모든 접근을 허용

상속

  • 상위 클래스의 모든 속성과 연산을 하위 클래스가 물려받는 것
  • 재정의 하지 않아도 즉시 자신의 속성으로 사용

다형성

  • 하나의 메시지에 대해 각각의 객체가 가지고 있는 고유한 방법으로 응답할 수 있는 능력
  • ex) + 연산자

추상화

  • 불필요한 부분을 생략하고, 객체의 속성 중 가장 중요한 것에만 중점을 두어 개략화하는 것, 즉 모델화 하는 것이다.

 

파이썬과 자바의 차이점, 다형성에 심도 깊게 알아두면 좋다 :)

반응형

댓글


"); wcs_do();