반응형
# 객체 지향 프로그래밍 (Object-Oriented Programming)
- 좀 더 나은 프로그램을 만들기 위한 프로그래밍 패러다임으로 상태(state)와 행위(behave)로 이루어진 객체로 만드는 것이다.
- 이 객체들을 마치 레고 블럭처럼 조립해서 하나의 프로그램을 만드는 것이 객체지향 프로그래밍이라고 할 수 있다.
## 추상화 (abstract)
- 복잡한 자료, 모듈, 시스템 등으로부터 중요한 부분을 단순화 시키는 것
## 부품화
- 좋은 객체를 만든다는 것은 로직을 재활용 가능하도록 부품화 하는 것이라고 할 수 있다.
- 객체지향은 부품화의 정점이라고 할 수 있다. 메소드는 부품화의 예로서 메소드를 사용할 경우 코드의 양을 극적으로 줄일 수 있고, 메소드 별로 기능이 분류되어 있어 필요한 코드를 찾기 쉽고 문제의 진단도 빨라진다.
## 은닉화, 캡슐화
- 내부의 동작 방법을 단단한 케이스(객체) 안에 숨기고, 사용자에게는 그 부품(메소드)의 사용방법만을 노출하고 있는 것으로, 이러한 것을 정보의 은닉화, 캡슐화라고 한다.
## 인터페이스
- 잘 만들어진 부품이라면 부품과 부품을 서로 교환 할 수 있어야 한다.
- 장치와 장치를 연결하기 위해서는 규격이 표준화 되어 있어야 하고, 장치와 장치를 연결하는 연결점을 인터페이스라고 한다.
반응형
'알고리즘 > 프로그래머스, 백준, 구름' 카테고리의 다른 글
[구름] 클래스 맴버, 인스턴스 맴버, 클래스 변수 (0) | 2020.11.13 |
---|---|
[구름] 객체화, 클래스, 인스턴스 (0) | 2020.11.13 |
[구름] 앱 실행중 데이터 입력(Scanner, hasNextInt), 여러형태로 입출력(파일로 입력받기, GUI) (0) | 2020.11.11 |
[구름] 메소드 (0) | 2020.11.10 |
[구름] for each문 (0) | 2020.11.09 |