Skip to content

Latest commit

 

History

History
35 lines (26 loc) · 1.54 KB

oop.md

File metadata and controls

35 lines (26 loc) · 1.54 KB

OOP

Object-Oriented Programming 이란 객체 지향 프로그래밍

  • OOP는 객체의 관점에서 프로그래밍
  • 절차지향에 비해 사람의 사고방식과 더 가까움
  • 객체들의 유기적인 관계를 통해서 프로세스 진행

4가지 특징 | 캡슐화 추상화 다형성 상속성

캡슐화

서로 연관있는 속성과 기능들을 하나의 캡슐로 만들어 데이터를 외부로부터 보호하는 것

캡슐화를 하는 이유

  • 데이터 보호 : 외부로부터 클래스에 정의된 속성과 기능들을 보호
  • 데이터 은닉 : 내부의 동작을 감추고 외부에는 필요한 부분만 노출

캡슐화 구현 방법

  • 접근제어자(access modifiers)를 활용 (private)
  • 멤버 변수에 값을 넣고 꺼내 올 수 있는 메서드를 생성 (getter, setter)

추상화

불필요한 세부 사항들은 제거하고 가장 본질적이고 공통적인 부분만을 추출하여 표현

  • 추상 클래스(abstract class)
  • 인터페이스(interface)

다형성

어떤 객체의 속성이나 기능이 그 맥락에 따라 다른 역할을 수행할수 있는 객체 지향의 특성

⇒ 같은 이름의 메서드가 상황에 따라 다른 역할을 수행

  • 메서드 오버라이딩
  • 메서드 오버로딩

상속성

기존 상위클래스에 근거하여 새롭게 클래스와 행위를 정의할 수 있게 도와주는 개념

⇒ 기존클래스에 기능을 가져와 재사용할 수있으면서도 동시에 새롭게 만든 클래스에 새로운 기능 추가