inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

173만명의 커뮤니티!! 함께 토론해봐요.

[전략 패턴 - 예제 2] 코틀린으로 연습하는 중에 변환이 되지 않아 문의 드립니다.

해결됨

스프링 핵심 원리 - 고급편

// ContextV1Test.java @Test void strategyV3() { ContextV1 context1 = new ContextV1(new Strategy() { @Override public void call() { log.info("비즈니스 로직1 실행"); } }); context1.execute(); ContextV1 context2 = new ContextV1(new Strategy() { @Override public void call() { log.info("비즈니스 로직2 실행"); } }); context2.execute(); } @Test void strategyV4() { ContextV1 context1 = new ContextV1(() -> log.info("비즈니스 로직1 실행")); context1.execute(); ContextV1 context2 = new ContextV1(() -> log.info("비즈니스 로직2 실행")); context2.execute(); } // ContextV1Test @Test fun strategyV3() { val context1 = ContextV1(object : Strategy { override fun call() { log.info("비즈니스 로직1 실행") } }) context1.execute() val context2 = ContextV1(object : Strategy { override fun call() { log.info("비즈니스 로직2 실행") } }) context2.execute() } @Test fun strategyV4() { val context1 = ContextV1({ log.info("비즈니스 로직1 실행") }) context1.execute() val context2 = ContextV1({ log.info("비즈니스 로직2 실행") }) context2.execute() } interface 에 메서드가 하나만 있는 경우 람다를 활용할 수 있다. java 코드를 코틀린으로 변환하면서 v3 는 정상적으로 변환에 성공했습니다. 하지만 v4 는 정상적으로 되지 않습니다. 코틀린에 아직 익숙하지 않다보니 생긴 문제인거 같기도 한데.. 혹시 강의 범위를 벗어나긴 하지만 도움을 주실 수 있을까요?

  • 전략패턴-예제2
  • spring
  • kotlin
  • 디자인-패턴
Byung Hyun Choi 댓글 1 좋아요 0 조회수 384

인기 태그

인프런 TOP Writers

주간 인기글