클래스와 데이터 정리

이동원·2024년 4월 3일

class

  • 속해있는 데이터들을 하나의 개념으로 묶어논 설계도(붕어빵틀)
ex )public class Student{
     String name;
     int age;
     int grade;}
  • 클래스에 정의한 변수를 멤버면수 or 필드라고한다.
  • 첫글자 대문자 ,그뒤 낙타표기법 cf) 변수는 첫글자 소문자 그뒤 낙타표기법
  • Student student1 = new Student();-> 학생을 실제메모리에 확보해 만들고
    student1 변수에담아둠 ->객체(인스턴스)생성(붕어빵)
  • 객체를 생성하고나면 메모리어딘가 만들어주는데 주소를 알아야하므로 참조값반환
  • 참조값을 통해 객체 사용 : student1.name="학생1"; -> . (점) 을통해 실제 메모리에 접근할수있다.
  • 클래스를 통해 내가 원하는 종류의 데이터 타입을 맘껏 정의할 수 있다.

배열도입

  • 클래스 객체는 같은타입을 묶을수 있는 배열을 통해 리펙토링 , 배열생성하면 객체생성처럼참조값 반환한다
  • 향상된 for 문 : int[] arr =new int[]{10,20,30};
    for(int i : arr) {System.out.println(i);} ->int n 이 0부터 시작해서 arr(배열이름) 끝까지 반복하겠다
    cf) 향상된 for문 단축기 =iter + 엔터

문제

문제: 상품 주문 시스템 개발
문제 설명
당신은 온라인 상점의 주문 관리 시스템을 만들려고 한다.
먼저, 상품 주문 정보를 담을 수 있는 ProductOrder 클래스를 만들어보자.
요구 사항
1. ProductOrder 클래스는 다음과 같은 멤버 변수를 포함해야 한다.
상품명 ( productName )
가격 ( price )
주문 수량 ( quantity )
2. ProductOrderMain 클래스 안에 main() 메서드를 포함하여, 여러 상품의 주문 정보를 배열로 관리하고, 그
정보들을 출력하고, 최종 결제 금액을 계산하여 출력하자.
3. 출력 예시와 같도록 출력하면 된다.

예시 코드 구조
public class ProductOrder {
String productName;
int price;
int quantity;
}
public class ProductOrderMain {
public static void main(String[] args) {
여러 상품의 주문 정보를 담는 배열 생성

상품 주문 정보를 ProductOrder 타입의 변수로 받아 저장
상품 주문 정보와 최종 금액 출력
출력 예시

상품명: 두부, 가격: 2000, 수량: 2
상품명: 김치, 가격: 5000, 수량: 1
상품명: 콜라, 가격: 1500, 수량: 2
총 결제 금액: 12000

풀이

public class Main {
    public static void main(String[] args) {
        ProductOrder[] orders = new ProductOrder[3];
        ProductOrder order1 = new ProductOrder ();
        order1.productName = "두부";
        order1.price = 2000;
        order1.quantity = 2;
        orders[0] = order1;

        ProductOrder order2 = new ProductOrder ();
        order2.productName = "김치";
        order2.price = 5000;
        order2.quantity = 1;
        orders[1] = order2;


        ProductOrder order3 = new ProductOrder ();
        order3.productName = "콜라";
        order3.price = 1500;
        order3.quantity = 2;
        orders[2] = order3;

        int totalAmount = 0;
        for (ProductOrder order : orders) {
            System.out.println ("상품명 : " + order.productName + "," + "가격 :" + order.price + "," +"수량"+ order.quantity);
            totalAmount += order.price * order.quantity;
        }
        System.out.println ("총 결제 금액 :" + totalAmount);
    }
}

0개의 댓글