본문 바로가기
Work & Study/JAVA (& 혼공자Java)

자바(Java) - 객체 지향 프로그래밍1

by a.k.a DUKI 2020. 9. 23.
728x90
반응형

객체

실생활에서 어떤 제품을 만들때 부품을 먼저 만들고 이 부품들을 조립하여 하나의 제품을 만든다.

이와 같이 소프트웨어를 개발할 때에도 부품에 해당하는 객체를 먼저 만든다.

객체를 하나씩 조립해서 완성된 프로그램을 만드는 기법을 객체 지향 프로그래밍(OOP: Object-Oriented Programming)이라 한다.

 

객체(object)란,

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

(역시.. 책이란.... 뭔말인지..)

 

객체는 현실 세계를 모델링한 개념이며, 객체에는 속성(필드)과 동작/기능(메서드가) 존재한다.

혼공자 유툽 참고

 

예시1) 객체 : 사람

사람은 이름과 안경 유무, 입술의 모양 등 상태가 있을 것이고,          --> 필드(속성) 

보다, 먹다, 말 하다, 걷다, 일하다 등 하는 행위로 묘사를 할 수 있다.  --> 메소드(동작)

 

예시2) 객체 : 자동차

차종, 브랜드, 색상, 엔진(마력), 도어수 등등               --> 필드(속성) 

현재까지의 주행거리, 현재까지 연식, 현재 시속 등등  --> 메소드(동작)

 

현실 세계의 객체를 소프트웨어 객체로 설계하는 것을 객체 모델링(object modeling)이라 한다.

객체 모델링은 현실 세계 객체의 속성과 동작을 추려내어 소프트웨어 객체의 필드와 메소드로 정의하는 과정이라 이해하면 된다.

 

 

객체의 상호작용

메소드를 통해 객체들이 상호작용을 한다.

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

혼공자 유툽 참고

리턴값 = 전자계산기객체.메소드(매개값1, 매개값2, ...);
  • 객체에 도트(.) 연산자를 붙이고 메소드 이름을 기술하면 된다. 도트 연산자는 객체의 필드와 메소드에 접근할 때 사용한다.
  • 매개값은 메소드를 실해하기 위해 필요한 데이터이다. 
    • 예를 들어 10, 20 을 하고, 더하기 기능을 하면 10,20 은 매개값이고 그 값을 돌려주는 것이 리턴 값이다.

혼공자 유툽 참고

int result = Calculator.add(10,20);
//리턴한 값을 int 변수에 저장

 

 

객체 간의 관계

객체는 개별적으로 사용될 수 있지만, 대부분 다른 객체와 관계를 맺고 있다.

집합관계, 사용관계 상속 관계 이렇게 세가지의 종류가 있다.

  • 집합관계: 부품과 완성품의 관계
    • 기계와 자동차는 상속관계
  • 사용관계: 객체간의 상호작용
    • 사람과 자동차는 사용관계
  • 상속관계: 상위(부모) 객체를 기반으로 하위(자식) 객체를 생성
    • 부품과 자동차는 집합관계

혼공자 유툽 참고

객체 지향 프로그래밍: 집합/사용 관계에 있는 개체를 하나씩 설계한 후 조립하여 프로그램 개발

 

 

 

 

 

 

본 내용은 #혼자공부하는자바 책을 참고해 공부하려 작성했습니다.
728x90
반응형

'Work & Study > JAVA (& 혼공자Java)' 카테고리의 다른 글

자바(Java) - 필드 (Field)  (0) 2020.09.28
자바(Java) - 객체 지향 프로그래밍2  (0) 2020.09.28
자바(Java) - 열거 타입  (0) 2020.09.23
자바(Java) - 배열3  (0) 2020.09.22
자바(Java) - 배열2  (0) 2020.09.22