[객체지향 프로그래밍]
“객체지향 프로그래밍이란?”
[Object Oriented Programming - OOP]
“객체” : 주체가 아닌 것, 주체가 활용하는 것
- 우리 주변에 있는 모든 것이 프로그래밍의 대상
“객체지향 프로그래밍”
- 주변의 많은 것들을 객체화해서 프로그래밍 하는 것
- 객체지향은 객체를 많이 만드는 것을 추천한다?
“객체지향 프로그래밍의 장점”
- 블록 형태의 모듈화된 프로그래밍
- 신뢰성 높은 프로그래밍 가능
- 추가/수정/삭제가 용이
- 높은 재사용성
[Class vs Object]
“현실 세계 객체, 클래스, 프로그램의 객체(instance, object)의 관계”
- 현실의 객체가 갖는 속성과 기능은 **추상화(abstraction)**되어 클래스에 정의된다.
- 클래스는 구체화되어 프로그램의 **객체(instance, object)**가 된다.
- 현실의 객체 → 우리가 만지고 느낄 수 있는 것 → 실생활에 구체화 되어있는 내용
- 객체를 필요할 때 마다 매번 처음부터 새로 만들어야 한다면?
- 실생활에서는 붕어빵 틀, 설계도(blueprint) 사용
- 설계도는 하나의 **종류(Type)**가 되고, 설계도를 통해 나온 제품을 객체라고 부르며 주체가 사용