Programming Language/Java

[JAVA] 객체지향 프로그래밍에서의 객체와 메소드

생각많은 프로그래머 2024. 2. 21. 17:03

현실 세계에서 자동차를 만들 때 부품을 먼저 개발하고

이 부품들을 하나씩 조립해서 완성해 나가듯이,

소프트웨어를 개발할 때에도

부품에 해당하는 객체들을 먼저 만들고,

이것들을 하나씩 조립해서 완성된 프로그램을 만든다.

 

바로 이러한 기법을 객체 지향 프로그래밍

(OOP; Object Oriented Programming)이라고 한다.

 

 

객체 객체 모델링

 

객체물리적으로 존재하거나 추상적으로 생각할 수

있는 것 중에서 속성을 가지고 있고,

다른 것과 구별 가능한 것을 말한다.

앞서 언급한 자동차 외에도 자전거, 책과 같은 제품,

사람, 동물과 같은 생물, 강의, 주문과 같은 서비스 등

모두 객체가 될 수 있다.

 

객체는 속성 동작으로 구성된다. 

예를 들어 '자동차'라는 객체에 대해서는

'색상', '디자인', '제조사', '모델명' 등과 같은 속성

있을 것이고, '전진한다', '후진한다', '멈춘다'와 같은

동작이 있을 수 있다. 

 

자바(JAVA)에서는 이러한 속성을 필드(Field),

동작을 메소드(Method)라고 부른다.

 

이렇게 현실 세계의 객체인 '자동차'의

속성과 동작을 필드와 메소드로 정의하여

소프트웨어 객체로 설계하는 것을 

객체 모델링(Object Modeling)이라 한다.

 

객체의 상호작용 : 메소드 호출

 

현실 세계에서 일어나는 많은 현상이

객체와 객체 간의 상호작용으로 이루어지듯이

소프트웨어 상에서도 객체들은 각각 독립적으로

존재하여 개별적으로 사용될 수도 있고,

많은 경우 다른 객체와 서로 상호작용하기도 한다.

 

객체들 사이의 상호작용 수단은 메소드이며

객체가 다른 객체의 기능을 이용하려면

해당하는 메소드를 호출해야 한다. 

 

따라서 객체의 상호작용은 객체 간의

메소드 호출을 의미하며 

매개값과 리턴값을 통해서

데이터를 주고 받는다고 말할 수 있다.

 

자바에서는 아래와 같이 객체명에 도트(.)연산자를 붙이고

매개값과 함께 메소드 이름을 적어 메소드를 호출한다.

리턴값 = 객체A.메소드명(매개값1, 매개값2, ...);

 

- 매개값 : 메소드를 실행하기 위해 필요한 데이터

예) 1과 2를 더하는 기능을 이용한다고 했을 때

1과 2를 매개값이라고 말한다. 

 

- 리턴값 : 메소드가 실행하고 나서 호출한 곳으로 

돌려주는(리턴하는) 값, 결과값을 말한다.

int result = problem.add(10,20) ;

객체명 : problem
메소드명 : add()
매개값 : 10, 20

add()메소드의 리턴값을 
int형 변수인 result에 저장한다.