객체지향에서 더 나가아 클래스, 인스턴트 그리고 객체를 알아보자
1. 메소드 만들기
만일, 메소드가 없다면 아래 간단한 예제를 보자.
위에 두가지 로직에서는 ' x + y " 라는 구조와 " +" 가 반복되고 있다. 위에 로직같이 간단한 로직이라면 금방 작성을 하지만, 만일 어려운 로직이라고 가정했을때 좀 더 편한 방법으로 진행하기 위해서 메소드를 사용할 수 있다. 즉 중복을 제거한다는 것이다.
refactoring (리펙토링)
기존에 있는 코드와 동일하게 동작하지만 코드의 내용을 개선해서 보다 효율적으로 만든 행위
sum이라는 메소드를 만들었다. 이렇게 하게 되면 기존에 비해 어떤 것이 개선이 되었는가 ?
① System.out.println(left+right); 만 바꾸면 sum (10 , 20)을 수정하지 않고도 다른 결과가 나오기에 유지보수하기가 좋다.
② sum인 메소드를 다른 로직에 쉽게 가져다 사용할 수 있다.
③ sum(10,20) / sum(20,40) 연관된 코드를 묶어놨기에 다른 사람이 봤을때 가독성이 향상 된다.
2. 객체 및 클래스 만들기.
아래 예제를 보면 같은 연관되어 있는것들은 메소드화를 시키고 인자값을 주고 표출하는 방법이 있지만,
그것보다 더 세부적으로 left = 10 ; right = 20; 값을 유지하면서 어쩔때는 sum 값을 어떨때는 avg값을 필요에 따라서 가져오는 방법은 바로 '객체'를 만드는 것이다.
객체를 만들기 위해서 아래 내용을 살펴보자.
1번,
= 대입 연산자를 이용하여 new Calculator(); 에 C1 / C2 변수를 넣어 객체를 만들었다.
이러한 것을 '인스턴스 = 구체적인 객체=제품'라고 한다.
이러한 객체는 설계도(클래스 Calculator)에 따라 만들어진 제품이며
내부적으로
C1 인스턴스 안에는 left : 10 / right :20 값을 가지고 있다.
C2 인스턴스 안에는 left : 20 / right :40 값을 가지고 있다.
'인스턴스 = 구체적인 객체' 만들기위해서는
객체 어떤 모습이고 어떤 메소드와 어떤 변수에 대한 어떤 정보를 담고 있는지 설계도가 있어야한다
2번
그 설계도는 class Calculator이라는 것이다. (class의 뜻은 객체인 Calculator에 설계도를 알려주겠다.)
C1 / C2 는 동일한 클래스를 통해서 만들어진 제품이기 동작하는 것은 비슷하지만, 변수가 달라 다른 값을 호출한다.
'ON > 국비 전 독학' 카테고리의 다른 글
[복습] 1. 객체지향을 다시 공부해보자. (0) | 2023.03.27 |
---|---|
11. 클래스 맴버란 ? (0) | 2023.03.26 |
09.객체 지향 프로그래밍이란 ? (0) | 2023.03.24 |
[복습] 반복문으로 구구단을 만들자 (0) | 2023.03.21 |
8. 메소드란 ? (0) | 2023.03.17 |