핵초보인데요
Student라는 클래스를 만들고
Student 클래스의 구현부를 StudentTest라고 따로 클래스를 만들었는데
StudentTest에 Student라는 생성자를 만들었으면
Student 클래스가 StudentTest에 연결되는건가요? 생성자 덕분에 StudentTest에서 Student 클래스에 접속 할 수 있는 권한?? 을 가지는건가요?
예를들어
StudentTest 클래스에서
Student student = new Student(); // 이렇게 생성자를 만들고
student.studentName = "홍길동"
student.address = "서울"
student.showStudent(); // 이 부분!!
Student클래스에서
public void showStudent() {
System.out.println(studentName + "," + address);
}
이 상태에서 StudentTest 클래스를 Run 시켜보면 홍길동,서울 이렇게 나오거든요?
이게 출력되려면 System.out.println 이 필요한거 아닌가요? 이게 왜 StudentTest 에서 Run을 해도 출력이 되나요?
컴파일러가 Student 클래스로 들어가서 showStudent 이 부분을 가지고 나오는건가요??? 이게 어떻게 가능한가요? 생성자 때문인가요?
디버깅 해봐.
아니 constructor 에서 인스턴스 생성해서 메소드 호출 한거잖아
님이 만들어서 호출해놓고 왜나오냐고 물으시면..
호출....은 뭐가해주는거에요...? 자바 IDE가 알아서 다른 class 열어보고 ' 오 메서드가 있네 ' 이러고 꺼내오는건가요..?
showStudent() <<< 라는 메소드를 호출했으니 출력되지
student.showStudent(); // 이 부분!! 라는 부분을 지워봐 출력되나
너가 메소드를 생성하고 그걸 다른 곳에서 호출하면 그 지정된 메소드 내부 실행문이 실행된다
와 신기하네요...;;;;;;;