태터데스크 관리자

도움말
닫기
적용하기   첫페이지 만들기

태터데스크 메시지

저장하였습니다.

'Coding/Java 삽질기'에 해당되는 글 37건

  1. 2011.08.24 Java에서 객체의 초기화 순서
  2. 2011.06.04 [Android] Image match game
  3. 2011.02.02 Android Tetris
  4. 2010.07.11 Bubble sort
  5. 2010.07.11 Selection sort
  6. 2010.05.09 Text2Memo
  7. 2010.03.10 Tetris (2)
  8. 2010.03.06 Fruit Game (4)
  9. 2009.10.22 [Java] 숫자 세기 게임
  10. 2009.10.13 [Android] Speed Game

자바는 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
Java에서 객체의 초기화 순서  (0) 2011.08.24
[Android] Image match game  (0) 2011.06.04
Android Tetris  (0) 2011.02.02
Posted by chobocho
TAG Java, 객체


즐거운 연휴~ 심심해서(?) 만들어 본 간단한 안드로이드용 퍼즐 게임



게임 방법

1. 빈 곳을 터치하면 상하좌우에서 동일한 이미지가 2개 있으면 삭제한다.
2. 빈 곳을 터치했으나 삭제할 수 있는 이미지가 없으면 타이머가 준다.
 
 
 

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

Java에서 객체의 초기화 순서  (0) 2011.08.24
[Android] Image match game  (0) 2011.06.04
Android Tetris  (0) 2011.02.02
Bubble sort  (0) 2010.07.11
Posted by chobocho
TAG Android


Galaxy Tab 전용으로 만든 테트리스.

아직 갈 길이 멀다.
 

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

[Android] Image match game  (0) 2011.06.04
Android Tetris  (0) 2011.02.02
Bubble sort  (0) 2010.07.11
Selection sort  (0) 2010.07.11
Posted by chobocho

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

Android Tetris  (0) 2011.02.02
Bubble sort  (0) 2010.07.11
Selection sort  (0) 2010.07.11
Text2Memo  (0) 2010.05.09
Posted by chobocho

http://chobocho.com/game/sort/selection_sort/select_sort.html

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

Bubble sort  (0) 2010.07.11
Selection sort  (0) 2010.07.11
Text2Memo  (0) 2010.05.09
Tetris  (2) 2010.03.10
Posted by chobocho

Text2Memo

Coding/Java 삽질기 2010.05.09 02:05

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

Selection sort  (0) 2010.07.11
Text2Memo  (0) 2010.05.09
Tetris  (2) 2010.03.10
Fruit Game  (4) 2010.03.06
Posted by chobocho
TAG Memo, 메모

Tetris

Coding/Java 삽질기 2010.03.10 00:13


자바로 만든 테트리스

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

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

Text2Memo  (0) 2010.05.09
Tetris  (2) 2010.03.10
Fruit Game  (4) 2010.03.06
[Java] 숫자 세기 게임  (0) 2009.10.22
Posted by chobocho



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

규칙 : 비쥬얼드와 동일.

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

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

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

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

Tetris  (2) 2010.03.10
Fruit Game  (4) 2010.03.06
[Java] 숫자 세기 게임  (0) 2009.10.22
[Android] Speed Game  (0) 2009.10.13
Posted by chobocho


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

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

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

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

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

Fruit Game  (4) 2010.03.06
[Java] 숫자 세기 게임  (0) 2009.10.22
[Android] Speed Game  (0) 2009.10.13
Insertion sort  (0) 2009.07.10
Posted by chobocho
TAG Java, puzzle

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

[Java] 숫자 세기 게임  (0) 2009.10.22
[Android] Speed Game  (0) 2009.10.13
Insertion sort  (0) 2009.07.10
Lifegame  (0) 2009.06.20
Posted by chobocho