inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

김영한의 실전 자바 - 기본편

문제와 풀이

문제와풀이2번 출력

521

qpdlqg

작성한 질문수 7

0

[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? (예/아니오)
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)
3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)

[질문 내용]
여기에 질문 내용을 남겨주세요.

package poly.expay;

public class PayService{


    public void processPay(String name, int amount) {
        boolean result;
        System.out.println("결제를 시작합니다: " + "option = " + name + ", amount = " + amount);
        if(name.equals("kakao")) {
            KakaoPay kakaoPay = new KakaoPay();
            result = kakaoPay.Pay(amount);
        }
    }
}

다름이 아니라 result값에 kakaoPay.Pay(amount)를 넣는건 알겠는데 그반환값도 true로 되구요 근데 왜 메인에서 출력이 되는건가여? 제가 생각하기로는 result = true라고 생각을 하였는데, 따로 출력을 하기위해선 kakaoPay.Pay(amount); 만 써야 출력이 되지 않나요? 아님 result에 값을 대입함과 동시에 출력도 되는지요.

java 객체지향

답변 2

0

김영한

안녕하세요. qpdlqg님

생각하는자님께서 잘 말씀해주셨는데요.

kakaoPay.Pay(amount); 를 호출하면 이 메서드가 실행됩니다. 그리고 이 메서드에 있는 내용들이 출력됩니다.

이 메서드의 호출이 끝나면 이 메서드의 호출 결과가 result에 담기게 됩니다.

지금 스택 구조에는 main() -> processPay()가 담겨 있는 상황이고, 여기서 kakaoPay.Pay(amount)를 호출하게 되면 그때는

main() -> processPay() -> Pay(amount)가 호출 됩니다. Pay(amount)의 결과를 반환하면 이때는 main() -> processPay()가 실행중이게 됩니다.

processPay()의 실행이 종료되면 main()으로 돌아갑니다.

감사합니다.

0

qpdlqg

정말 감사드립니다~~ 이해되었습니다!!

0

생각하는자

이거는 스택 구조를 좀 생각하시면 좋을 것 같습니다. 스택 구조를 기억하시면 실행 영역에서 대기하고 있다가 명령이 종료되면 다음 것을 실행하고, 나중에 가셔야 맨 마지막인 main 메서드가 실행하는것을 생각하시면 답이 풀릴것 같습니다.

0

qpdlqg

제가 그 부분을 놓쳤던 것 같아요 감사합니다!!

진짜화면이랑달라서못해먹겟어요먹겟어요

0

19

1

강의 화면이 안나와요

0

72

1

문제2번

0

64

1

static 변수를 호출할때 인스턴스변수 호출하듯이 호출해도 되나요?

0

73

1

47번 리턴 관련 질문

0

62

1

문제2번

0

150

2

질문있습니다

0

85

1

1번 문제 질문입니다.

0

75

1

음악플레이어 문제 중 코드질문

0

68

1

9장 상속 문제와 풀이 질문

0

80

1

강의 자료에 사소한 오타가 있습니다.

0

96

2

매서드 참조값 반환??

0

111

1

접근제어자 - 쇼핑카트 문제에서 상품출력 부분 메서드

0

113

1

자바 기본편 - .(dot)에 관한 질문입니다!

0

120

1

공부방법

0

143

2

상속관계에서 멤버 변수는 오버라이딩 되는 개념이 아닌가요?

0

119

1

static method 질문

0

98

1

캡슐화 문제풀이 ShoppingCart 요구사항에 문제가 있어보입니다. 피드백 주세요

0

126

1

Method1에서 Student 객체

0

107

1

3강 18. null 질문

0

99

1

this 와 super의 호출 순서는 부모-자식관계 떄문만인가요?

0

111

1

팩토리 메서드 패턴과 일반 생성자 사용의 장단점

0

137

1

문의

0

137

1

9장 상속 문제와 풀이 부분 궁금한게 있어서 질문드립니다

0

123

1