2021. 3. 2. 17:22ㆍJAVA 공부
이번에는 객체(object)와 클래스(class)에 대해 알아 봅시다
객체(object)와 클래스(class)
붕어빵을 만든다고 가정을 해 봅시다.
붕어빵을 만들 때는 붕어빵 틀이 있고, 반죽과 팥 , 슈크림 등을 넣고 만들죠?
여기서 붕어빵 틀이 클래스(class)
팥빵 , 슈크림빵 이 객체(object)가 됩니다.
클래스(class)는 객체들의 기능을 가지고 있다고 생각하면 될 것 같습니다.
예제를 보죠
+ 연산만 되는 계산기를 만들었다고 가정을 해봅시다.
※ result 는 class 내 어디서든 사용하게(메서드처럼) main 바깥에 만들었습니다.
이렇게 만들고 사용할 수 있겠죠?
result 에는 6의 값이 들어 가겠네요
그러면, result에 들어있는 6이라는 값은 냅두고, 계산기를 또 사용하려면 ? 또 만들어야 겠죠
result2 에는 60의 값이 들어가고, 또 냅두고 계산기를 사용하고 싶다면 ? 또 만들어야죠
result3 에는 600의 값이 들어가고..... 또 사용하려면 또 만들고 또 만들고 .....
같은 기능을 하는데, 이름만 조금씩 바꿔주고 계속 만들어 줘야 하네요?
너무 비효율적이죠?
그래서 클래스(class)가 존재 합니다.
클래스로 만들어 봅시다.
위의 계산기 기능을 Calculator 이라는 class 를 만들어서 1번만 작성을 해줬습니다.
그리고 그걸 이렇게 사용할 수 있습니다.
하나씩 풀어가 보죠
- 먼저 , main 은 1개만 존재해야 합니다.
- 클래스를 사용할 때는 , 해당 클래스 타입의 객체(object)를 만들어 줘야 합니다. 이 과정을 인스턴스(instance)화 라고 합니다 -> Calculator cal1 = new Calculator();
- 인스턴스화 를 하기 전까지 ( 객체를 만들기 전까지 ) 는 실제로 class는 존재하지 않습니다.(메모리 할당x)
- 객체는 서로 다른 존재 입니다. -> cal1 과 cal2는 다릅니다.
- 객체에 . 을 찍으면 참조한다는 의미 입니다.
- 클래스에서 변수는 속성, 메서드는 기능을 의미 합니다
두 번째 예제를 한번 봅시다
붕어빵 틀이 될 class 를 만들었습니다.
이제 이걸 사용을 해보겠습니다.
main이 될 PenMain calss 를 만들어 주고 main 안에서 작성해 줍시다
먼저 생성을 해줍니다 (인스턴스화) -> black 이라는 객체를 만들어 줍니다
balck 이라는 객체 안에 존재하는 속성(멤버변수)의 값을 변경해 줍니다.
기능(메서드)를 사용 합니다
black 이라는 펜 말고, red라는 펜을 하나 더 만들어 줍시다
똑같이 생성을 해주고 -> red 라는 객체를 만듭니다.
red 라는 객체 안에 존재하는 속성(멤버변수)의 값을 변경해 주고, 기능(메서드)을 사용합니다
이제 각각 info를 사용해서 어떻게 다른지 확인 해 봅시다
이렇게 서로 다른 값이 저장이 되어 있는걸 확인 할 수 있습니다.
여기에 아까 만든 계산기 까지 만들어 보죠
이렇게 객체와 클래스에 대해 알아 보았습니다.
고생하셨습니다
'JAVA 공부' 카테고리의 다른 글
Day11 - 클래스 생성자 (0) | 2021.03.02 |
---|---|
Day11 - 멤버변수 , 지역변수, 매개변수 (2) | 2021.03.02 |
Day11 - 배열의 정렬과 비교 (0) | 2021.03.02 |
Day11 - 코딩 문제 사이트 (0) | 2021.03.02 |
Day10 - 메서드(함수) 04. 배열의 사용 (0) | 2021.02.27 |