기본형과 참조형에 대하여 궁금증이 생겨서 질문을 남깁니다.public class question {
public static void main(String[] args) {
int a = 10;
doubleNumber(a);
System.out.println("a = " + a);
}
public static void doubleNumber(int x){
int result = x*2;
System.out.println("doubleResult = " + result);
}
}doubleNumber라는 메서드를 만나게 되면 int x에 a의 값인 10이 복사되어 들어간 다음 2배 증가된 이후 result에 대입이 된 이후 print를 한 뒤에 메서드가 종료되면 result가 사라지는 것으로 알고있습니다.public class Method2 {
public static void main(String[] args) {
Student student1 = createStudent("학생1", 15, 90);
Student student2 = createStudent("학생2", 17, 80);
printStudent(student1);
printStudent(student2);
}
static Student createStudent(String name,int age, int grade){
Student student = new Student();
student.name = name;
student.age=age;
student.grade = grade;
return student;
}
static void printStudent(Student student){
System.out.println("이름:" +student.name+"나이:"+student.age+"성적:"+student.grade);
}
}createStudent라는 메서드에서는 student의 참조값을 리턴을 하기 때문에 Student student1=createStudent()를 하게 되면 new Student를 실행한 그 객체의 참조값이 넘어오는 것 까지는 이해를 했습니다. createStudent메서드가 끝나면 메서드 안에 있는 student는 계속 살아있는 것인지 아니면 다른 어떤 것들이 있는지 궁금합니다.