인스턴스 생성에 대한 질문
351
작성한 질문수 23
User 클래스를 만들었고 ShoppingCart2에서 User클래스를 활용하기 위해서 user1이라는 인스턴스를 생성하였습니다.
그리고 User클래스에 있는 메서드를 활용하기 위해서 user1.을 하니 메서드가 나타나지 않았습니다.
그 이유가 무엇때문인지 알 수 있을까요?
(메인 메서드에서는 정상적으로 나타났습니다)
답변 2
2
안녕하세요. 옙버디님, 공식 서포터즈 OMG입니다.
제가 이해한 질문의 내용은 다음과 같이 ShoppingCart클래스의 필드 영역에서 OMG라는 User 인스턴스를 생성 후 필드 영역에서 함수를 호출하였을 때 메서드 참조가 안되는 것을 얘기하시는 것으로 이해하였습니다.
테스트 하신것과 같이 필드 영역에서는 메서드 호출이 불가능합니다.
하지만 5번째 줄과 같이 User()인스턴스를 생성 후 즉시 호출하여 변수를 초기화 하는 경우에는 가능합니다.

제가 이해한 내용이 아닌 경우 부연 설명 부탁드립니다 😀
감사합니다.
0
현재까지 영한님의 강의를 들은 것으로 생각해보자면 클래스는 메서드 영역이고 인스턴스 생성은 메인 메서드가 인스턴스 생성을 호출해야 하기 때문에 가능한것 이라고 저는 일단 결론을 지었는데
해당 부분에서 오류가 있을까요???
1
제가 작성한 예시 기준으로 답변드리면 이 부분은 메모리 관점보다는 자바 언어의 문법 규칙에 따른 것입니다.
자바에서는 메서드 호출이 메서드, 생성자 또는 초기화 블록 외부의 클래스 수준에서 허용되지 않습니다.
OMG.myName();이 메서드 내부가 아닌 클래스 수준에서 호출되고 있기 때문에 컴파일 시간 오류가 발생한 것입니다.
진짜화면이랑달라서못해먹겟어요먹겟어요
0
57
1
강의 화면이 안나와요
0
76
1
문제2번
0
67
1
static 변수를 호출할때 인스턴스변수 호출하듯이 호출해도 되나요?
0
76
1
47번 리턴 관련 질문
0
64
1
문제2번
0
153
2
질문있습니다
0
86
1
1번 문제 질문입니다.
0
76
1
음악플레이어 문제 중 코드질문
0
69
1
9장 상속 문제와 풀이 질문
0
82
1
강의 자료에 사소한 오타가 있습니다.
0
97
2
매서드 참조값 반환??
0
114
1
접근제어자 - 쇼핑카트 문제에서 상품출력 부분 메서드
0
117
1
자바 기본편 - .(dot)에 관한 질문입니다!
0
122
1
공부방법
0
144
2
상속관계에서 멤버 변수는 오버라이딩 되는 개념이 아닌가요?
0
120
1
static method 질문
0
99
1
캡슐화 문제풀이 ShoppingCart 요구사항에 문제가 있어보입니다. 피드백 주세요
0
127
1
Method1에서 Student 객체
0
109
1
3강 18. null 질문
0
99
1
this 와 super의 호출 순서는 부모-자식관계 떄문만인가요?
0
111
1
팩토리 메서드 패턴과 일반 생성자 사용의 장단점
0
138
1
문의
0
137
1
9장 상속 문제와 풀이 부분 궁금한게 있어서 질문드립니다
0
124
1





