06-1 객체 지향 프로그래밍

객체 object : 물리적으로 존재하거나 추상적으로 생각할 수 있는 것 중에서 자신의 속성을 가지고 있으면서 식별 가능한 것

객체 모델링 object modeling : 현실 세계의 객체를 소프트웨어 객체로 설계하는 것

객체 지향 프로그래밍 : 객체를 만들고 이를 조립해 완성된 프로그램을 만드는 기법

객체의 상호작용

객체들은 각각 독립적으로 존재, 다른 객체와 서로 상호작용하면서 동작

메소드 호출 : 객체가 다른 객체의 기능을 이용하는 것

리턴값 = 전자계산기객체.메소드(매개값1, 매개값2, ···);
ex)
int result = Calculator.add(10,20);

⇒ 객체 간의 메소드 호출을 의미하며 매개값과 리턴값을 통해서 데이터를 주고받음

객체 간의 관계

  1. 집합 관계 : 객체 = 하나의 부품, 하나는 완성품
  2. 사용 관계 : 객체 간의 상호작용
  3. 상속 관계 : 상위(부모) 객체를 기반으로 하위(자식) 객체를 생성하는 관계

객체 지향 프로그래밍 : 만들고자 하는 완성품인 객체를 모델링하고, 집합관계에 있는 부품 객체와 사용 관계에 있는 객체를 하나씩 설계한 후 조립하는 방식으로 프로그램을 개발하는 기법

객체와 클래스

클래스 class (=설계도)

: 객체를 생성하기 위한 필드와 메소드가 정의되어 있음 - 클래스로부터 만들어진 객체 : 해당 클래스의 인스턴스 instance

객체 지향 프로그래밍 개발 단계

  1. 클래스 설계
  2. 설계된 클래스를 가지고 사용할 객체 생성