목표자바의 문법적 요소(Class, Constructor, Static)가 왜 만들어졌는지 코드를 통해 역추적한다. 불편한 코드를 먼저 작성해보고, 이를 개선하는 과정에서 자연스럽게 객체지향의 필요성을 납득하는 것이 목표다.1. 데이터가 따로 노는 문제 (Class의 필요성)쇼핑몰에서 상품 정보를 관리하는 기능을 구현한다고 가정해보자. 클래스를 배우기 전에는 보통 데이터를 배열에 담아서 관리했다.Before: 배열을 이용한 관리public class ShopMain { public static void main(String[] args) { // 상품 이름과 가격을 각각 다른 배열에 저장 String[] productNames = {"Laptop", "Mouse", "Key..