현실세계에서 부품을 먼저 개발하고 부품들을 하나씩 조립해서 제품을 만들듯이
소프트웨어를 개발할 때도 부품에 해당하는 객체를 먼저 만든다.
이러한 객체를 하나씩 조립해서 완성된 프로그램를 객체지향 프로그래밍이라 한다.
1. 객체지향언어(OOP)
1) 절차지향언어
- 작업 순서(알고리즘)을 표현
- 함수들의 집합으로 프로그래밍
- C언어 → 시스템
2) 관점지향언어
3) 객체지향언어
- Object Oriented Programing → OOP
- 미리 사용할 목적으로 설계도를 완성하고 그 객체를 이용해서 프로그래밍
- 붕어빵기계 틀을 만들면 거기에 팥이 들어갈수도 슈크림이 들어갈수도 있음
- C++, JAVA
2. 객체
1) 객체란?
- 객체란 물리적으로 존재하거나 추상적으로 생각할 수 있는 것 중 자신의 속성을 가지고 있으면서 식별 가능한 것을 의미한다.
- 속성(필드) + 동작(메소드)로 구성
- 자동차의 모델명, 색깔 등이 필드에 해당하고 자동차가 움직이는 것이 메소드에 해당
- 속성: 객체가 가진 고유한 특성
- 동작: 객체의 행동 패턴
클래스를 붕어빵을 굽는 틀이라고 생각하고 객체를 완성된 붕어빵이라고 생각하면 이해하기가 쉽다.
2) 객체의 상호작용
- A객체에서 B객체의 메소드를 호출하여 이용할 수 있음 → 객체 간 상호작용
- B객체에서 메소드를 실행하여 다시 A객체에게 값을 줌=리턴값
- 객체들을 각각 독립적으로 존재하고 다른 객체와 서로 상호작용하면서 동작함
- 객체는 메소드를 호출하여 원하는 결과를 얻음 (상호작용의 수단)
- 메소드는 다음과 같은 형태를 가짐
✅ int result = Calculator.add(10,20); //리턴한 값을 int변수 result에저장
📚 Reference
신용권, 『혼자공부하는 자』, 한빛미디어(2023)