728x90
반응형
SMALL

안녕하세요! 프뚜입니다.

 

객체 지향 프로그래밍에서 다형성의 특별한 경우로 다른 연산자들이 함수 연사자를 통해서 구현을 할 때를 말합니다. +, - 등 과 같은 연산자가 어떤 값과 함께 사용하느냐에 따라서 다르게 동작할 수 있도록 그것을 커스터마이징 할 수 있습니다.

 

 


[개발 환경]

 - OS: Windows 10 64bit

 - JAVA: 11


Calculator Class 생성하기

data class Calculator(val param: Int) {

    operator fun plus(calculator: Calculator): Calculator {
        return Calculator(param + calculator.param)
    }

    operator fun inc(): Calculator {
        return Calculator(param + 10)
    }

    operator fun dec(): Calculator {
        return Calculator(param - 10)
    }

}

계산기로 연산자 오버로딩을 합니다. (plus)


Plus Overloading

위 계산기에서 plus를 operator를 통해 overloading을 합니다.

val x: Calculator = Calculator(10)
val y: Calculator = Calculator(20)

println("[LOG]: ${x + y}")

 

 

 

 

상단에 나와있는 표 기준 규격으로 위와 같은 방법으로 오버로딩할 수 있습니다.


해당 소스는 GitHub에서 받을 수 있습니다. (commit message와 게시글 제목은 동일합니다.)

https://github.com/JeongSeongSoo/tistory_kopring.git

 

GitHub - JeongSeongSoo/tistory_kopring: 티스토리 스프링 + 코틀린

티스토리 스프링 + 코틀린. Contribute to JeongSeongSoo/tistory_kopring development by creating an account on GitHub.

github.com

 

728x90
반응형
LIST
프뚜