일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
29 | 30 | 31 |
- scala
- scala 2.10
- aws
- spring-kafka
- Logstash
- kafkastream
- coursera
- enablekafkastreams
- confluent
- gradle
- Slick
- 플레이 프레임워크
- RabbitMQ
- kafka streams
- Kafka
- kafkastreams
- 한빛미디어
- Elasticsearch
- schema registry
- 카프카
- avo
- spring-cloud-stream
- reactive
- statestore
- play framework
- kafka interactive query
- Spring
- Elk
- springboot
- spring-batch
- 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 |