문서의 선택한 두 판 사이의 차이를 보여줍니다.
양쪽 이전 판 이전 판 다음 판 | 이전 판 | ||
groovy:meta_programming [2016/08/30 08:36] kwon37xi |
groovy:meta_programming [2016/08/30 08:37] kwon37xi [대량의 메소드 추가 기법] |
||
---|---|---|---|
줄 32: | 줄 32: | ||
<code groovy> | <code groovy> | ||
Integer.metaClass { | Integer.metaClass { | ||
+ | // 메소드 추가 | ||
daysFromNow = { -> | daysFromNow = { -> | ||
Calendar today = Calendar.instance | Calendar today = Calendar.instance | ||
줄 38: | 줄 39: | ||
} | } | ||
+ | // 프라퍼티 추가. 괄호없이 호출가능. | ||
getDaysFromNow = { -> | getDaysFromNow = { -> | ||
Calendar today = Calendar.instance | Calendar today = Calendar.instance | ||
줄 44: | 줄 46: | ||
} | } | ||
+ | // static method 추가 | ||
' | ' | ||
isEven = { val -> val % 2 == 0 } | isEven = { val -> val % 2 == 0 } | ||
} | } | ||
+ | // 생성자 추가 | ||
constructor = { Calendar calendar -> | constructor = { Calendar calendar -> | ||
new Integer(calendar.get(Calendar.DAY_OF_YEAR)) | new Integer(calendar.get(Calendar.DAY_OF_YEAR)) | ||
줄 58: | 줄 62: | ||
} | } | ||
} | } | ||
+ | |||
+ | println 5.daysFromNow() | ||
+ | println 5.daysFromNow // without parentheses | ||
+ | |||
+ | println "Is 2 even? " + Integer.isEven(2) | ||
+ | println "Is 3 even? " + Integer.isEven(3) | ||
+ | println new Integer(4) | ||
+ | println new Integer(Calendar.instance) | ||
</ | </ | ||