| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | 7 |
| 8 | 9 | 10 | 11 | 12 | 13 | 14 |
| 15 | 16 | 17 | 18 | 19 | 20 | 21 |
| 22 | 23 | 24 | 25 | 26 | 27 | 28 |
- avo
- Slick
- Elk
- 카프카
- Elasticsearch
- coursera
- kafka streams
- spring-cloud-stream
- enablekafkastreams
- Kafka
- spring-kafka
- play framework
- scala
- 플레이 프레임워크
- springboot
- schema registry
- kafkastream
- Spring
- RabbitMQ
- statestore
- spring-batch
- 한빛미디어
- aws
- kafka interactive query
- Logstash
- confluent
- kafkastreams
- gradle
- scala 2.10
- reactive
- Today
- Total
b
scala package object 본문
스칼라의 package object는 어떤 모습을 하고 있을까?
package com {
package sub {
class klazz {
val name = pubValue
}
}
package object sub {
val pubValue = "A"
private val priValue = "B"
def pubMethod() = "C"
}
}
1. com/sub 폴더 내에는 다음과 같은 파일들이 생성된다.
- klazz.class
- package$.class
- package.class
2. package, package$
$ javap -p package
public final class com.sub.package {
public static java.lang.String pubMethod();
public static java.lang.String pubValue();
}
public final class com.sub.package$ {
public static final com.sub.package$ MODULE$;
private final java.lang.String pubValue;
private final java.lang.String priValue;
public static {};
public java.lang.String pubValue();
private java.lang.String priValue();
public java.lang.String pubMethod();
private com.sub.package$();
}
- companion object 를 가지는 class 와 유사한 모습으로 생성된다.
- package object의 method와 var 맴버는 public static 으로 생성된다.
-
'language > scala' 카테고리의 다른 글
| Superseded by Akka HTTP (0) | 2017.05.01 |
|---|---|
| FP 비엄격성 (1) | 2015.05.18 |
| scala의 lazy 비용 (0) | 2014.10.21 |
| spray는 멋지군.. (0) | 2014.10.20 |
| Enum Type을 Slick 에서 사용하기 (0) | 2014.10.07 |