작성
·
555
0
[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? (예/아니오)
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)
3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)
[질문 내용]
안녕하세요.
참조형과 메서드 호출 강의를 듣다 궁금점이 생겨서 문의 남깁니다.
package ref;
public class MethodChange2 {
public static void main(String[] args) {
Data dataA = new Data();
dataA.value = 10;
System.out.println("메서드 호출 전: dataA.value = " + dataA.value);
changeReference(dataA);
System.out.println("메서드 호출 후: dataA.value = " + dataA.value);
}
private static void changeReference(Data dataX) {
dataX.value = 20;
}
package ref;
public class Method2 {
public static void main(String[] args) {
Student student1 = createStudent("학생1", 15, 90);
Student student2 = createStudent("학생2", 16, 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 student1) {
System.out.println("이름:" + student1.name + " 나이:" + student1.age + " 성적:" + student1.grade);
}
}
MethodChange2의 changeReference 메소드는 private static인데, 왜 Method2의 printStudent 메소드는 static인지 이유가 궁금합니다.
앗 제가 잘못 확인했나봅니다!
그럼 혹시 private이 있는 것과 없는 것의 차이를 알 수 있을까요?
실행 결과는 private이 있어도 동일하게 나와서 궁금하네요...
(늦은 시간인데도 답변 감사합니다!!)