Object-Oriented Programming
이란 객체 지향 프로그래밍
- OOP는 객체의 관점에서 프로그래밍
- 절차지향에 비해 사람의 사고방식과 더 가까움
- 객체들의 유기적인 관계를 통해서 프로세스 진행
4가지 특징 | 캡슐화
추상화
다형성
상속성
서로 연관있는 속성과 기능들을 하나의 캡슐로 만들어 데이터를 외부로부터 보호하는 것
캡슐화를 하는 이유
- 데이터 보호 : 외부로부터 클래스에 정의된 속성과 기능들을 보호
- 데이터 은닉 : 내부의 동작을 감추고 외부에는 필요한 부분만 노출
캡슐화 구현 방법
- 접근제어자(access modifiers)를 활용 (private)
- 멤버 변수에 값을 넣고 꺼내 올 수 있는 메서드를 생성 (getter, setter)
불필요한 세부 사항들은 제거하고 가장 본질적이고 공통적인 부분만을 추출하여 표현
- 추상 클래스(abstract class)
- 인터페이스(interface)
어떤 객체의 속성이나 기능이 그 맥락에 따라 다른 역할을 수행할수 있는 객체 지향의 특성
⇒ 같은 이름의 메서드가 상황에 따라 다른 역할을 수행
- 메서드 오버라이딩
- 메서드 오버로딩
기존 상위클래스에 근거하여 새롭게 클래스와 행위를 정의할 수 있게 도와주는 개념
⇒ 기존클래스에 기능을 가져와 재사용할 수있으면서도 동시에 새롭게 만든 클래스에 새로운 기능 추가