public class Product {
// 제품 아이디
int id;
// 제품명
String name;
}
Product 클래스에 id와 name 필드(멤버변수) 만들기
public class ClassTest {
public static void main(String[] args) {
int age = 30;
// 아이디는 1, 이름은 컴퓨터 인 데이터를 만들자 = 객체생성
Product p1 = new Product();
p1.id = 1;
p1.name = "컴퓨터";
// src에서 내가 만든 데이터타입 Product
// new는 메모리(저장공간)를 heap에 생성하라!
// heap- 메모리영역 중 하나
// =클래스 Product에 변수 p1 생성 후 p1의 id와 name 입력
// 아이디는 2, 이름은 냉장고 인 데이터를 만들자 = 객체생성
Product p2 = new Product();
p2.id=2;
p2.name="냉장고";
// 아이디는 3, 이름은 세탁기 인 데이터를 만들자 = 객체생성
Product p3 =new Product();
p3.id=3;
p3.name="세탁기";
// 아이디는 4, 이름은 TV 인 데이터를 만들자 = 객체생성
Product p4=new Product();
p4.id=4;
p4.name="TV";
// 제품의 아이디는 1이고, 제품명은 컴퓨터 입니다. 라고 출력되게 만들자.
System.out.println("제품의 아이디는 "+p1.id+"이고, 제품명은 "+p1.name+" 입니다.");
// p2의 내용도 위처럼 나오도록 출력하세요.
System.out.println("제품의 아이디는 "+p2.id+"이고, 제품명은 "+p2.name+" 입니다.");
// p3의 내용도 위처럼 나오도록 출력하세요.
System.out.println("제품의 아이디는 "+p3.id+"이고, 제품명은 "+p3.name+" 입니다.");
// p4의 내용도 위처럼 나오도록 출력하세요.
System.out.println("제품의 아이디는 "+p4.id+"이고, 제품명은 "+p4.name+" 입니다.");
}
}
제품의 아이디는 ...이고 제품명은 ... 입니다.
일일히 println()함수 쓰지말고 작업을 대신해 줄 함수를 만들자
// 아이디와 제품명을 출력하는 일은 이 클래스의 일이다.
// print()
// void 돌려줄게 없다
// return 반환해라
// 이렇게 클래스 안에 작성한 함수를 메소드(Method)라고 한다.
void print(){
System.out.println("제품의 아이디는 "+id+"이고, 제품명은 "+name+" 입니다.");
}
main()에서 아래 함수를 사용하면
// print()로 점프 > Product 클래스의 함수, p1 변수들을 출력
// > return 없기 때문에 다시 ClassTest로 점프, 프린트함수 종료
// 함수 종료 후 stack 메모리에서 지워짐
p1.print();