반응형
main method가 있는 class와 object를 생성하는 class와의 관계
main method가 있는 StudentTest.java
import java.util.Scanner;
//실행
class StudentTest{
public static void main(String[] args) {
System.out.print("이름, 학과, 학번 정보를 입력(스페이스로 구분) >>");
//사용자로부터 입력 받기 위해 Scanner 객체 사용
Scanner sc = new Scanner(System.in);
// kwanwoo 객체 생성과 동시에 사용자로부터 학생 정보 받음
Student kwanwoo = new Student(sc.next(), sc.next(), sc.nextInt());
// kwanwoo 메서드 시행, 정보출력
kwanwoo.print();
}
}
object를 생성하는 Student.java
import java.util.Scanner;
//Student 클래스
public class Student {
String name, department;
int id;
//Student 생성자
Student(String name, String department, int id){
this.name = name;
this.department = department;
this.id = id;
}
// 출력 메서드
void print() {
System.out.print("학생정보 (이름: "+this.name+", 학과: "+this.department+", 학번:"+id+")");
}
}
main method가 있는 class는 지금까지 프로그램을 수행하기 위해 필수적으로 꼭 있어야하는 class이며, 프로그램이 시작되는 class이다.
Student class는 기억장소를 memory내에 할당하여 여러 계산을 하기 위한 class이다. 앞으로 main method에서 Student class를 이용하여 기억장소를 만들 것이다.
그러므로 두 class는 아무 연관관계가 없다.
ex) 자동차 설계도면은 스스로 차를 만들 수 없으니 Student class는 Student object를 만들 수 없다. 자동차 공장(main method)에서 설계도면(Student class)대로 자동차를 만들 듯 main method에서는 Student class를 기준으로 Student object를 만드는 역할을 한다.
즉, 공장(main method)에서 run을 돌려야 설계도면(Student class)을 보며 객체(물건)을 만들 수 있다!
반응형
'자바 Java' 카테고리의 다른 글
c언어의 메모리 구조 (0) | 2019.10.05 |
---|---|
typedef (0) | 2019.10.05 |
클래스와 객체 ( 배열 변수 / 객체 배열 / 접근 제어자 ) (0) | 2019.09.29 |
예외처리 try, catch (0) | 2019.09.26 |
수식자 / 접근제어자 public, private 차이 / static, final 수식자 (0) | 2019.09.26 |
댓글