클래스의 정의
>>> // 클래스 생성
>>> public static Class Launch {
>>> }
>>> // 객체 생성
>>> public class Sample {
>>> public static void main(String[] args) {
>>> Launch hamburger = new Launch();
>>> Launch noodle = new Launch();
>>> Launch porkCutlet = new Launch();
>>> ...
>>> }
>>> }
클래스는 객체를 정의하는 것으로 객체를 생성하기 위해 존재한다. 클래스와 객체를 설명할 때 보통 '빵틀'로 비유한다.
붕어빵 틀이 클래스, 붕어빵이 객체이다.
위에서도 보이듯 클래스인 launch를 메인 클래스에서 각각 햄버거, 국수, 돈까스 객체로 찍어낸 것이다. 이제 비어있는 클래스를 채워보자.
클래스의 사용 (객체 변수)
>>> // 클래스 생성
>>> public static class Launch {
>>> String menu;
>>> int price;
>>> }
>>> // 객체 생성
>>> public class Sample {
>>> public static void main(String[] args) {
>>> Launch hamburger = new Launch();
>>> hamburger.menu = hamburger;
>>> hamburger.price = 7900;
>>>
>>> }
>>> }
클래스 안에 들어있는 menu와 price를 객체 변수(instance variable)라고 한다. 클래스에 의해 생성되는 것은 객체, 그 클래스에 의해 선언된 변수는 객체 변수라고 정리할 수 있다.
객체 변수 = 인스턴스 변수 = 멤버 변수 = 속성
클래스에 메뉴와 가격, 두 종류의 변수가 들어 있고 메인 클래스에서 각각 햄버거 객체에 값을 넣어주었다. 이후 hamburger.menu를 출력하면 "hamburger"가 출력될 것이고 hamburger.price를 출력하면 7900이 출력될 것이다.
클래스를 사용하는 이유
>>> public static class Hamburger1 {
>>> String menu = chickenBurger;
>>> int price = 7900;
>>> }
>>> public static class Hamburger2 {
>>> String menu = shrimpBurger;
>>> int price = 6900;
>>> }
>>> ...
위의 햄버거 클래스의 예시를 보면 알 수 있듯, 햄버거라도 치킨버거, 새우버거 등 다양한 종류와 가격을 가지고 있다. 이때마다 새로 선언해 주면 이전 값들을 저장해 두거나 사라질 위험이 있다.
>>> public static class Hamburger {
>>> String menu;
>>> int price;
>>> }
>>>
>>> public class Sample {
>>> public static void main(String[] args) {
>>> Hamburger chikenBurger = new Hamburger();
>>> Hamburger shrimpBurger = new Hamburger();
>>> ...
>>> }
>>> }
이때 클래스를 사용해 똑같은 변수들을 가진 객체들을 선언하여 각각의 값을 저장할 수 있다. 물론 2가지 경우라면 간단해 보이지만 10개, 20개의 햄버거가 있다면 코드는 매우 복잡해질 것이다.
(해당 자료는 위키독스 점프 투 자바를 참고하였습니다)
'자바' 카테고리의 다른 글
자바 프로그래밍 - 생성자 (0) | 2023.10.30 |
---|---|
자바 프로그래밍 - 상속 개념 (0) | 2023.10.23 |
자바 프로그래밍 - 메서드 (0) | 2023.10.18 |
자바 메인 클래스 public static void main(String[] args) 뜻 알기 (0) | 2023.10.17 |
안드로이드 스튜디오(자바) - 로또 번호 생성 프로그램 (0) | 2023.09.25 |