초기화 블럭
 - 클래스 초기화 블럭, 인스턴스 초기화 블럭으로 나뉘며, 각각의 변수의 초기화에 사용된다.

※ 클래스 초기화 블럭 - 클래스변수를 초기화할때 사용한다.
※ 인스턴스 초기화 블럭 - 인스턴스 변수를 초기화할때 사용한다.

생성자보다 인스턴스 초기화 블럭이 먼저 수행됨.


인스턴스 초기화 블럭 - {}를 사용하여 인스턴스 변수를 초기화 한다.
  ex) {  초기화 내용  }

클래스 초기화 블럭 - static{} 를 사용하여 클래스 변수를 초기화 한다.
  ex) static { 초기화 내용 }

'프로그래밍 > Java' 카테고리의 다른 글

[Java] Sub Class의 필요성  (0) 2012.10.03
[Java] 천단위 콤마 추가, 제거  (0) 2012.07.26
[Eclipse] 이클립스 플러그인 제거  (0) 2011.09.22
URI vs URL  (0) 2011.09.05
[Java] Scanner  (0) 2011.06.05


Scanner를 이용한 간단한 입력 예제


import java.util.Scanner;

public class {

public static void main(String args[]){
Scanner scan = new Scanner(System.in);

String str = scan.nextLine();
int i = scan.nextInt();
Long l = scan.nextLong();


}
}

위와 같이 입력을 받을때 선언된 기본형과 같은 next를 선언하여 사용해야된다.

단, String의 경우 nextLine() 또는 next()를 사용한다.

또한 byte, short, int, long, float, double의 경우 nextOO(int radix)를 호출할때 매개변수로

진수를 지정하여 입력받을 수 있다.

 



인스턴스 변


● 클래스 내에서 선언됩니다. 메소드 내에서 선언되는 것이 아닙니다.


class horse{

             private double height = 15.2;

             private String breed;

             //나머지 코드...

}
 



지역변수



● 지역변수(local variable)는 메소드 내에서 선언됩니다.

class AddThing{

               int a;

               int b = 12;

      

               public int add() {

                      int total = a + b;

                      return total;

               }



 

● 단, 지역변수는 사용하기 전에 반드시 초기화해야 합니다.

class Foo{

    public void go() {

            int x;

            int z = x + 3; //초기화 하지 않았으므로 컴파일이 되지 않습니다.

     }

}
 

지역변수에는 기본값이 없습니다. 따라서 지역 변수를 초기화하기 전에 사용하려고 하면 컴파일 과정에서 오류가 납니다.