클래스 : 현실 세계의 객체를 프로그램 안에서 사용하기 위해한 방법
객체 : 현실 세계에 존재하는 모든 것을 의미
//1. 클래스 정의 : 사용자 정의 자료형
public class 클래스이름{//클래스이름은 결국 int와 같은 자료형 종류가 된다.
public 기본자료형 변수이름; //클래스 안에 선언된 변수를 필드로 부른다.
public 기본자료형 변수이름;
//본인이 만들 새로운 자료형(클래스)에 포함하고 싶은 자료형(기존 자료형)을 여러개 기술 한다.
}
//2. 클래스 변수 선언
클래스이름 변수명=new 클래스이름(); //선언과 함께 생성
클래스이름 변수명; 변수명=new 클래스이름(); //선언후 생성
//저장하기 원하는 객체 개수만큼 클래스 변수로 선언하여 사용 할 수 있다.
Human h3;
와 new Human();
와 h3=new Human();
의 의미를 기술 하시오.
Human h3; // => Human클래스의 h3인스턴스를 생성
new Human(); // => 메모리 힙영역에 Human 데이터를 저장할 수 있는 데이터 공간을 만들고 해당 저장 공간의 주소를 생성해 준다.
h = new Human(); // => new Human()에서 생성된 데이터의 시작 주소 값이 h에 들어간다.
주소연산자
한
파일에 2개의 클래스가 존재 하려면 public 클래스는 하나만 존재해야 하기 때문
import
다른 클래스에서 또 다른 클래스를 클래스 명 만으로 호출하기 위함.
import com.human.dto.*; 로 기술하면 com.human.dto패키지 안에 있는 모든 클래스를 해당 파일에서 기술할때 생략해서 사용할 수 있다.
힌트 - 필요한 데이터 선정 6개
나무 이름,나무 가격, 키우는데
걸리는 시간, 경험치, 현재 심은
나무수, 최대 심을 수 있는 나무수
class Tree {
String name = "";
int price = 0;
int growthDuration = 0;
int exp = 0;
int currentTrees = 0;
int maximumTrees = 0;
}
public class SearchOptions { public Manufacturer manufacturer = null; public CPU cpu = null; public Display display = null; public RAM ram = null; public Storage storage = null; public OS os = null; public Weight weight = null; class Manufacturer { bool lgElectronics = false; bool samsungElectronics = false; bool asus = false; bool lenovo = false; bool msi = false; } class CPU { bool ryzen7_5 = false; bool ryzen7_4 = false; bool ryzen5_4 = false; bool ryzen3_4 = false; bool i9_12 = false; bool i7_12 = false; bool i5_12 = false; bool i7_11 = false; bool i5_11 = false; bool i3_11 = false; } class Display { bool _17 = false; bool _16 = false; bool _15 = false; bool _14 = false; bool _13 = false; } class RAM { bool _64 = false; bool _32 = false; bool _16 = false; bool _8 = false; bool _4 = false; } class Storage { bool over1TB = false; bool over512GB = false; bool over256GB = false; bool over128GB = false; bool over120GB = false; } class OS { bool freeDOS = false; bool windows11Home = false; bool windows11Pro = false; bool windows11 = false; bool windows10 = false; } class Weight { bool under1KG = false; bool under1_4KG = false; bool under1_7KG = false; bool under2KG = false; bool under2_3KG = false; } public SearchOptions SearchOptions(){ this.manufacturer = new Manufacturer(); this.cpu = new CPU(); this.display = new Display(); this.ram = new RAM(); this.storage = new Storage(); this.os = new OS(); this.weight = new Weight(); return this; } } ```