Last active
February 18, 2016 15:51
-
-
Save mcdoyaji/b5f92e6a53ecd36671ad to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
object Daddy{ | |
val objName = "Singleton Object Instance!!" | |
def apply(name:String) = new Daddy(name) | |
def apply(name:String, name2: String) = new Mommy(name, name2) | |
def printName(person:Daddy) { println(person.name)} | |
def printName(person:Mommy) { println(person.name)} | |
} | |
trait Person{ | |
def printName(person:Daddy) {println(Daddy.objName)} | |
} | |
class Daddy(private val name: String) extends Person | |
class Mommy(val name: String, name2: String) extends Person | |
object ScalaJSExample extends js.JSApp { | |
def main() = { | |
println("싱글턴 객체 Main 을 통해서 Main 과 Mommy 객체의 인스턴스 생성") | |
println(Daddy("hellen").hashCode) //Main 객체 생성 | |
println(Daddy("ache!").hashCode) // Main 객체 생성 | |
println(Daddy("keller","kill!!").hashCode) // Mommy 객체 생성 | |
println("생성된 객체 인스턴스를 변수에 담고") | |
val main1 = Daddy("hellen")// Main 객체 생성 | |
val main2 = Daddy("ache!") // Main 객체 생성 | |
val mommy = Daddy("keller","kill") // Mommy 객체 생성 | |
println("인스턴스의 패키지주소를 제외한 클래스 이름을 확인") | |
println(main1.getClass().getSimpleName()) | |
println(main2.getClass().getSimpleName()) | |
println(mommy.getClass().getSimpleName()) | |
println(Daddy.getClass().getSimpleName()) | |
// If the class is an inner, nested, local or anonymous class, the compiler should generate at least one $ in its class-file name | |
println("싱글턴 객체의 printName 메소드로 전달받은 인스턴스의 name 값을 출력한다.") | |
// Main 클래스 인스턴스는 private 속성 까지 접근 가능함을 알 수 있다. | |
Daddy.printName(main1) | |
Daddy.printName(mommy) | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment