inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

김영한의 실전 자바 - 중급 1편

익명 클래스 활용2

Ex1RefMainV1 질문

해결된 질문

121

dev.rudevico

작성한 질문수 44

0

[질문 내용]
안녕하세요, 영상에서 영한님이 "메서드를 전달"하라고 하시기에 다음과 같이 풀어봤는데, 영한님 풀이와는 접근 방법이 조금 다른 것 같아 문의드립니다.

제가 봤을 때는 영한님 풀이의 경우 "메서드를 전달"한다는 느낌보다는 "메서드를 구현해놓은 인스턴스를 전달"한다는 느낌으로 받아들여져서 질문드립니다.

  1. 다음과 같이 풀이해도 익명 클래스의 목적에 부합하는 풀이일까요?

  2. 추가로 강의록에 "그런데 지금까지 학습한 내용으로는 메서드를 전달할 수 있는 방법이 없다."라고 언급되었는데 이는 결국 "(아직 학습하지 않았지만) 메서드를 전달할 수 있는 방법이 존재한다."라고 해석되고, 이에 해당하는 방법이 아래 풀이와 같은 방법인지 궁금합니다.

 

// my solution-2
package nested.anonymous.ex;

import nested.local.Process;

import java.util.Random;

public class Ex1RefMainSOL2 {

    public void process(Process process) {
        System.out.println("프로그램 시작");

        process.run();

        System.out.println("프로그램 종료");
    }

    public static void main(String[] args) {
        Ex1RefMainSOL2 main = new Ex1RefMainSOL2();

        main.process(new Process() {
            int randomValue = new Random().nextInt(6) + 1;
            @Override
            public void run() {
                System.out.println("주사위 = " + randomValue);
            }
        });

        main.process(new Process() {
            @Override
            public void run() {
                for (int i = 1; i <= 3; i++) {
                    System.out.println("i = " + i);
                }
            }
        });
    }
}

java 객체지향

답변 1

0

dev.rudevico

다음 영상 보니 바로 이에 대한 풀이가 있어서 혹시 저와 같은 의문 가지실 분들을 위해 댓글 남깁니다.

다음 강의인 익명 클래스 활용3Ex1RefMainV4 문제(영상 3분 부분)를 확인하시면 됩니다.

 

0

dev.rudevico

++

위 코드도 "메서드만 전달"한 것은 아님.

"인스턴스를 넘긴 것이지만, 그 참조가 남아있지 않게 넘긴 것"뿐임.

"메서드만 전달"하는 방식은 다음 강의의 lambda 부분(영상 5분 40초) 참고

문제와 풀이

0

23

1

섹션 2 퀴즈 9번

0

31

2

강의노트 내용이 이해가 되지 않아서 문의드립니다.

0

47

1

중급1편, 래퍼클래스 문제와풀이2 로또제너레이터 질문

0

67

1

setVlaue질문

0

92

3

안녕하세요 코딩테스트와 병행하고 싶어서 질문드립니다.

0

92

1

findValue의 파라메터까지 래퍼클래스 배열인 이유가 있을까요?

0

74

1

아래 글처럼 toString() 강의부터 화면이 안보여요

0

99

2

TemporalAdjusters의 lastDayOfNextMonth(), lastDayOfNextYear() 메서드 지원 안함

0

84

2

오타 제보도 되나요?

0

90

2

지역 클래스 예제3 지역변수 질문

0

69

2

래퍼클래스 박싱 출력

0

60

1

자바 equals() 메소드에 대한 물리적 동일성, 논리적 동등성 질문

0

105

3

강의록 오타 제보

0

69

2

자바의 기본 클래스들에 관하여

0

70

1

실무에서 중첩(내부) 클래스 사용하나요?

0

79

1

지역 클래스 - 지역 변수 캡처3

0

55

1

12:30 의 newClassGrade 질문이 있습니다.

0

57

1

날짜와 시간 문제풀이가 막히는데

0

100

2

내부 클래스의 바깥 클래스 참조

0

68

1

스트링 풀, new String()

0

105

3

정적 중첩 클래스 사용 이유

0

97

1

status.getCode() 대신 status.code 사용

1

81

1

메서드의 지역변수명과 내부클래스의 멤버메서드에서의 지역변수명의 중복관련

0

75

1