메소드화: 중복 제거 방법

// 예제 1)

public class CalculatorDemo{

	public static void main(String[] args){
		//다음 로직이 1000줄 이상이 된다고 상상해보자😅
		System.out.println(10 + 20);
		System.out.println(20 + 40);
	}
}

객체화: 변수와 메소드를 하나의 그룹으로 묶어서 그룹핑

Untitled

메소드 sum과 avg는 변수 left와 right와 서로 연관 되어 있다. 또한 합계와 평균을 구하는 작업은 다른 에플리케이션에서도 사용할 수 있는 기능이다. 이것들을 그룹핑해서 하나의 부품으로 만들면 필요할 때마다 반복적으로 사용할 수 있을 것이다. 객체를 만들 때가 된 것이다.

클래스: 설계도

위의 예에서 변수 left와 right, 메소드 sum과 avg는 연관되어 있는 로직이다. 이 로직들의 연관성은 계산을 하기 위한 것이다. 그래서 계산기라는 이름으로 그룹핑할 것이다.

<aside> 💡 클래스는 연관되어 있는 변수와 메소드의 집합이다.

</aside>

인스턴스: 제품

이제 클래스를 사용하는 방법을 알아보자. 클래스는 일종의 설계도다. 클래스를 정의하는 것 자체로는 할 수 있는 일이 많지 않다. 설계도를 구체적인 제품으로 만들어야 한다. 그 때 사용하는 키워드가 new이다.

Calculator c1 = **new** Calculator();

new Calculator()은 클래스 Calculator를 구체적인 제품으로 만드는 명령이다. 이렇게 만들어진 구체적인 제품을 인스턴스(instance)라고 부른다.


Untitled

변수를 다른 말로는 상태(state)라고도 표현한다. c1.sum의 결과는 30, c2.sum의 결과는 60인 것을 통해서 알 수 있듯이 상태가 다른 객체를 대상으로 메소스를 실행시키면 다른 결과를 나타내게 된다. 메소드를 다른 말로는 행동(behave)라고도 표현한다.