'Java'에 해당되는 글 19건

  1. 2014.11.11 Groovy 설치( Mac )
  2. 2011.08.24 Java에서 객체의 초기화 순서
  3. 2010.07.11 Bubble sort
  4. 2010.07.11 Selection sort
  5. 2010.03.10 Tetris 2
  6. 2010.03.06 Fruit Game 4
  7. 2009.10.22 [Java] 숫자 세기 게임
  8. 2009.07.10 Insertion sort
  9. 2009.06.20 Lifegame
Coding/JVM 삽질기2014. 11. 11. 01:40

1. Groovy download

    http://groovy.codehaus.org/Download



2. 환경설정

    .bash_profile 을 아래와 같이 설정한다.



3. groovysh 실행 결과





4. GroovyConsole 실행결과



'Coding > JVM 삽질기' 카테고리의 다른 글

Mac에서 Kotlin 설치하기  (0) 2017.10.14
[groovy] 50!  (0) 2016.09.24
Pocket PC를 위한 JVM  (0) 2005.09.28
Posted by chobocho
Coding/Java 삽질기2011. 8. 24. 23:58

자바는 Static block -> Instance block -> 생성자 순으로 초기화가 된다.

먼저 아래와 같은 코드를 실행해 보자.

public class TestClass {
    public static void main (String[] args) {
       System.out.println("---------------------------");
       
       Parent father = new Parent("father");
       
       System.out.println("---------------------------");
    }
}

class Parent {
    public String myName = "Parent";

    static {
        System.out.println ("This is first message of Parent class!");
    }

    public Parent() {
       System.out.println (myName + ": This is third message! I'm a default constructor of Parent class!");
    }

    public Parent(String name) {
        myName = name;
        System.out.println (myName + ": This is third message! I'm a constructor of Parent class!");
    }
    
    {
      System.out.println (myName + ": This is second message!");
    }
}


그럼 하기와 같은 결과를 얻을 수 있다.

---------------------------
This is first message of Parent class!
Parent: This is second message!
father: This is third message! I'm a constructor of Parent class!
---------------------------



 public class TestClass {

    public static void main (String[] args) {
       System.out.println("---------------------------");
       
       Parent father = new Parent("father");
       Parent mother = new Parent("mother");
       
       System.out.println("---------------------------");
    }
}

class Parent {
    public String myName = "Parent";

    static {
        System.out.println ("This is first message of Parent class!");
    }

    public Parent() {
       System.out.println (myName + ": This is third message! I'm a default constructor of Parent class!");
    }

    public Parent(String name) {
        myName = name;
        System.out.println (myName + ": This is third message! I'm a constructor of Parent class!");
    }
    
    {
      System.out.println (myName + ": This is second message!");
    }
}


 위 와 같이 한 줄을 추가하여 실행하면 아래와 같은 결과를 얻을 수 있다.

---------------------------
This is first message of Parent class!
Parent: This is second message!
father: This is third message! I'm a constructor of Parent class!
Parent: This is second message!
mother: This is third message! I'm a constructor of Parent class!
---------------------------


여기서 보면 static { }  으로 둘러 싸인 구문은 객체 생성시 최초 1회만 수행이 되고, 그 뒤에는 수행이 되지 않는 걸 알 수 있다. 그러나 { } 로 둘러싸인 instance block은 객체가 생성 될 때마다 실행 되며 생성자 보다 먼저 생성되는 걸 알 수 있다.

class Child extends Parent {
    public String myName = "Child";

    static {
        System.out.println ("This is first message of Child class!");
    }

    public Child(String name) {
        myName = name;
        System.out.println (myName + ": This is third message! I'm a constructor of Child class!");
    }
    
    {
      System.out.println (this.myName + ": This is second message of Child class!");
    }
  
}



위 와 같이 Parent class를 상속받는 Child 클래스를 만들고, 아래와 같이 객체를 생성해 보자

public class TestClass {
    public static void main (String[] args) {
       System.out.println("---------------------------");
       
         Child son     = new Child("son");
       
       System.out.println("---------------------------");
    }



그럼 하기와 같은 결과가 나온다.

---------------------------
This is first message of Parent class!
This is first message of Child class!
Parent: This is second message!
Parent: This is third message! I'm a default constructor of Parent class!
Child: This is second message of Child class!
son: This is third message! I'm a constructor of Child class!
---------------------------


위 결과를 보면 알 수 있듯이,
부모 클래스의 static block -> 자식 클래스의 static block -> 부모 클래스의 instance block
-> 부모 클래스의 생성자 -> 자식 클래스의 instance block -> 자식클래스의 생성자 순으로 실행 되는 것을 알 수 있다.

마지막으로 아래와 같이 실행을 하면,

public class TestClass {
    public static void main (String[] args) {
       System.out.println("---------------------------");
       
       Parent father = new Parent("father");
      Parent mother = new Parent("mother");
       Child son     = new Child("son");
       
       System.out.println("---------------------------");
    }
}



하기와 같이 실행 된다. 천천히 살펴보면 앞에서 설명한 내용에서 벗어나지 않는다.

---------------------------
This is first message of Parent class!
Parent: This is second message!
father: This is third message! I'm a constructor of Parent class!
Parent: This is second message!
mother: This is third message! I'm a constructor of Parent class!
This is first message of Child class!
Parent: This is second message!
Parent: This is third message! I'm a default constructor of Parent class!
Child: This is second message of Child class!
son: This is third message! I'm a constructor of Child class!
---------------------------





 

'Coding > Java 삽질기' 카테고리의 다른 글

Java 실행 시간 측정 하기  (0) 2011.09.01
[Android] Image match game  (0) 2011.06.04
Android Tetris  (0) 2011.02.02
Posted by chobocho
Coding/Java 삽질기2010. 7. 11. 00:17

'Coding > Java 삽질기' 카테고리의 다른 글

Android Tetris  (0) 2011.02.02
Selection sort  (0) 2010.07.11
Text2Memo  (0) 2010.05.09
Posted by chobocho
Coding/Java 삽질기2010. 7. 11. 00:14

'Coding > Java 삽질기' 카테고리의 다른 글

Bubble sort  (0) 2010.07.11
Text2Memo  (0) 2010.05.09
Tetris  (2) 2010.03.10
Posted by chobocho
Coding/Java 삽질기2010. 3. 10. 00:13


자바로 만든 테트리스

* 소스가 필요하신 분은 댓글을 남겨 주세요 ^^

'Coding > Java 삽질기' 카테고리의 다른 글

Text2Memo  (0) 2010.05.09
Fruit Game  (4) 2010.03.06
[Java] 숫자 세기 게임  (0) 2009.10.22
Posted by chobocho
Coding/Java 삽질기2010. 3. 6. 12:42



자바로 만든 짝퉁 비주얼드 게임.

규칙 : 비쥬얼드와 동일.

시작방법 : 우측 상단 점수판을 클릭하면 된다.

게임하기 : http://chobocho.com/game/fruit/fruit.html

소스코드 : 곧 업데이트 할께요... 필요하시면 댓글을 남겨주세요.

'Coding > Java 삽질기' 카테고리의 다른 글

Tetris  (2) 2010.03.10
[Java] 숫자 세기 게임  (0) 2009.10.22
[Android] Speed Game  (0) 2009.10.13
Posted by chobocho
Coding/Java 삽질기2009. 10. 22. 00:54


자바로 만든 숫자 세기 게임.

규칙 : 숫자를 순서대로 마우스로 클릭 하면 된다. (제한시간 25초)

시작방법 : 스마일 버튼을 클릭하면 된다.

게임하기 : http://chobocho.com/game/speed/Speed.html

'Coding > Java 삽질기' 카테고리의 다른 글

Fruit Game  (4) 2010.03.06
[Android] Speed Game  (0) 2009.10.13
Insertion sort  (0) 2009.07.10
Posted by chobocho
Coding/Java 삽질기2009. 7. 10. 17:06

insertion sort 예제 :  http://chobocho.com/game/sort/insert_sort/insert_sort.html



 void insert_sort(int m_data[], int num)
 {
    int i = 0, j = 0, k = 0;
   
    for ( i = 1; i < num; i++ ) {
        k = m_data[i];
        for ( j = i - 1; j >= 0 && k > m_data[j]; j--) {
            m_data[j+1] = m_data[j];
        }
        m_data[j+1] = k;
   
     }
 }


update : 2010. 7. 10

'Coding > Java 삽질기' 카테고리의 다른 글

[Android] Speed Game  (0) 2009.10.13
Lifegame  (0) 2009.06.20
Android 설치  (0) 2009.05.25
Posted by chobocho
Coding/Java 삽질기2009. 6. 20. 02:35

'Coding > Java 삽질기' 카테고리의 다른 글

Insertion sort  (0) 2009.07.10
Android 설치  (0) 2009.05.25
J2EE를 이용한 프로젝트 디플로이  (0) 2005.10.13
Posted by chobocho