Review - Object-Oriented Programming

Verba volant, scripta manent·2021년 1월 29일

Object-Oriented Programming이란?

OOP, 객체 지향 프로그래밍
프로그램을 명령어 또는 함수의 목록으로 보는 명령형 프로그래밍의 절차지향적 관점에서 벗어나 여러 개의 독립적인 단위인 객체(object)의 집합으로 프로그램을 표현하는 프로그래밍을 말한다.

OOP 용어정리

-> 객클메메인속

1. 객체(Object)

자신 고유의 데이터를 가지며 클래스에서 정의한 행위를 수행

2. 클래스(Class)

같은 종류(또는 문제 해결을 위한)의 집단에 속하는 속성(attribute)과 행위(behavior)를 정의한 것
속성은 변수의 형태로, 행위는 메서드 형태로 선언한다.

3. 메소드(Method)

클래스로부터 생성된 객체를 사용하는 방법
전통적 시스템의 함수(Function) 또는 프로시저(Procedure)에 해당하는 연산 기능

4. 메시지(Message)

객체에게 어떤 행위를 하도록 지시하기 위한 방법

5. 인스턴스(Instance)

프로그램에서 클래스를 통해 만든 실제의 실행 객체, 프로그램의 실행 단계에서 나타남

6. 속성(Property)

한 클래스 내에 속한 객체들이 가지고 있는 데이터 값들을 단위별로 정의한것
성질, 분류, 식별, 수량, 현재 상태 등에 대한 표현 값들을 말한다.

OOP 4대 특성

-> 캡상다추 ㅋㅋㅋㅋㅋ

1. 캡슐화(Encapsulation)

  • 서로 관련성이 많은 데이터와 이와 관련된 함수들을 한 묶음으로 처리하는 기법
  • 결합도가 낮아지고 재사용 용이
  • 프로그램 변경 시 오류의 파급효과가 적다.
  • 인터페이스가 단순해짐

2. 상속(Inheritance)

  • 상위 클래스의 속성과 메소드를 하위 클래스에서 재정의 없이 물려받아 사용하는 기법

3. 다형성(Polymorphism)

  • 하나의 메시지에 대해 각 객체가 가지고 있는 고유한 방법으로 응답할 수 있는 능력
  • 오버라이딩(Overriding) : 상위 클래스(부모 클래스)가 가지고 있는 메소드를 하위 클래스(자식 클래스)가 재정의해서 사용하는 기법
  • 오버로딩(Overloading) : 매개변수의 유형과 개수가 다르게 하여 같은 이름의 메소드를 여러 개 가지는 기법

4. 추상화(Abstraction)

  • 객체의 성질을 분해하여 공통 성질을 추출하여 클래스를 설정하는 기법
profile
말은 사라지지만 기록은 남는다

0개의 댓글