수업:
개체를 정의하는 모양 또는 청사진입니다.
→ 객체가 생성되어 청사진인 클래스와 함께 사용됩니다.
클래스는 개체의 상태를 나타내는 필드와 개체의 동작을 나타내는 메서드로 구성됩니다.
필드: 클래스에 포함된 변수가 정의되는 곳
방법: 특정 작업을 수행하기 위한 일련의 지침입니다.

1) 간단한 클래스 만들기
//보통 클래스는 메인 클래스 밖에 작성한다.
class person { //타입명 : person
int age;
String name; // 나이와 이름을 담을 수 있다.
}
public class 클래스생성 { //Public 클래스 이름이 자바 파일의 이름과 동일해야한다
public static void main(String() args) {
// TODO Auto-generated method stub
person p1 = new person();
p1.age = 10;
p1.name = " aaa";
System.out.println("p1.age"+p1.age);
System.out.println("p1.name"+p1.name);
person p2 = new person();
p2.age = 11;
p2.name =" bbb";
System.out.println("p2.age"+p2.age);
System.out.println("p2.name"+p2.name);
person p3 = p2;
System.out.println("p3.age"+p3.age);
System.out.println("p3.name"+p3.name);
}
}
재정의할 클래스는 mian 클래스 외부에서 만든다. person 클래스는 이제 person 유형의 개체입니다.
클래스 내에서 동시에 여러 변수를 정의할 수 있습니다.
메인 클래스 생성 시 class typename + variable = new typename(); 즉, 사람 p1 = 새 사람으로 정의됩니다. 처음에 좀 헷갈렸는데 int a = 4와 같은 식으로 생각하시면 됩니다. 결국 int는 사람이 되고 a = p1이 됩니다. new는 힙에 메모리를 할당하는 역할을 합니다. 현재 클래스에 int(4B)와 String(4B)이 있으므로 총 8B가 할당됩니다. p1에 할당된 메모리의 주소를 연결하고 주소가 100이라고 가정하면 주소 100의 주소가 스택에 연결되어 사용됩니다.
2) 클래스에 메서드 추가
class card9 {
//밑에 세개는 멤버변수
String name;
String num;
String pwd;
// 멤버변수에 값을 할당 하는 메서드
void setData(String na, String nu, String p) { // 파라미터는 지역변수이다.
// 멤버변수 = 지역변수 로 설정
name = na;
num = nu;
pwd = p;
}
void print() { // 얘는 왜 파라미터가 필요 없냐면 그냥 간단하게 멤버변수만 출력 할꺼니까
System.out.println("card name : " + name);
System.out.println("card num : " + num);
System.out.println("card pwd : " + pwd);
}
}
public class 클래스에매서드추가 {
public static void main(String() args) {
// TODO Auto-generated method stub
card9 c1 = new card9();
c1.setData("ㅎㅎ", "3958djskl223", "1234");
c1.print();
System.out.println();
card9 c2 = new card9();
c2.setData("헤니", "395fg2djskl223", "1284");
c2.print();
}
}
card9 클래스에서 적절한 클래스 멤버 변수에 값을 할당하기 위해 setData 및 print 메서드를 추가했습니다.
메인 클래스에서 card9 c1 = new card9(); 객체를 만들고 생성합니다. 메소드를 호출하고 메소드 이름을 사용하려는 경우 개체 변수를 생성합니다(파라미터에 값이 있는 경우 이를 사용해야 함). 불러서 사용하세요.
즉, c1.setData(“하하”, “3958djskl223”, “1234”); 매개변수에 값이 있는 setData의 경우 메소드를 완료하려면 매개변수 값도 채워야 합니다. 반면에 c1.print(); 인쇄 방식 자체는 파라미터 값이 없기 때문에 비워두시면 사용이 가능합니다.
