Jisoo’s devlog
코틀린 FAQ_week8 본문
invoke 메서드를 구현하는 인터페이스란?
자바에서 invoke 메서드를 구현하려면 코드를 일일이 다 써야 한다. 하지만 코틀린에서는 함수 타입이 invoke 메서드를 구현하는 인터페이스이기 때문에 굳이 코드를 적지 않아도 invoke 메서드를 구현할 수 있다.
전략 패턴이란?
→ 4-2기에 알 수 있다..
⇒ “어떤 행위를 처리할때 로직의 일부 전략을 캡슐화하여 이용하는 패턴”
• 로직이나 알고리즘 변경시 해당 코드를 직접 변경하지 않고 이미 정의된 알고리즘을 교체하여 사용할 수 있다.
ㄴ 객체가 할 수 있는 각각의 행위를 전략으로 만들고 행위를 수정해야 할 때 전략을 바꾸어 행위의 수정을 가능하도록 한다.
인라인 함수
<문제>: 람다의 경우 파라미터 개수에 따라 컴파일 단계에서 FunctioN 인터페이스로 변환된다. 이때 일반 함수에 비해 부가적인 비용이 발생하기 때문에 덜 효율적인 면이 있다.
→ 그래서 인라인 함수를 사용
“함수를 호출하는 코드를 함수 본문을 번역한 바이트 코드로 컴파일한다”
ㄴ https://0391kjy.tistory.com/64
→ 이렇게 인라인된 코드는 함수의 내용 자체를 불러오기 때문에 굳이 FunctionN 객체를 만들지 않아도 오버헤드가 만들어지지 않고 함수의 본문을 그대로 가져올 수 있다.
'Kotlin' 카테고리의 다른 글
코틀린 FAQ_week10 (0) | 2023.01.28 |
---|---|
코틀린 FAQ_week9 (0) | 2023.01.28 |
코틀린 FAQ_week7 (0) | 2023.01.09 |
코틀린 FAQ_week6 (0) | 2023.01.09 |
코틀린 FAQ_week5 (0) | 2023.01.09 |