-
[JAVA] 객체지향 프로그래밍 (2)프로그래밍/JAVA 2015. 7. 8. 00:42반응형
인스턴스변수 (Instance Variable)
- 클래스 영역에 선언되며 클래스의 인스턴스를 생성할때 만들어짐
- 인스턴스 변수의 값을 읽어오거나 저장하기 위해서는 먼저 인스턴스를 생성해야함
- 인스턴스는 독립적인 저장공간을 가지므로 서로 다른값을 가질수 있다.
- 인스턴스마다 고유한 상태를 유지해야하는 속성의 경우 인스턴스 변수로 선언
클래스 변수(Class Variable)
- 선언방법은 인스턴스 변수 앞에 static만 붙이면 됨.
- 모든 인스턴스가 공통된 저장공간(변수)를 공유함.
- 공유 변수라고도 함(Shared Variable)
- 인스턴스를 생성하지 않고도 언제라도 바로 사용가능하며 클래스이름.클래스변수와 같은 형식으로 사용
- 클래스가 로딩될때 생성되어 프로그램이 종료될 떄까지 유지되며 public을 앞에 붙이면 같은 프로그램 내에서 어디서나 접근 가능한 전역변수(Global Variable)의 성격을 갖는다.
지역변수(Local Variable)
- 메서드 내에서만 사용가능하며 메서드가 종료되면 소멸되어 사용불가능함.
- for문 또는 while문의 블럭 내에서 주로 사용하며 블럭{}을 벗어나면 사용불가능하다.
오늘의 코드
package j0708;
class CardTest {
public static void main(String[] args) {
System.out.println("Card.width = " + Card.width);
System.out.println("Card.height = " + Card.height);
Card c1 = new Card();
c1.kind = "Heart";
c1.number = 7;
Card c2 = new Card();
c2.kind = "Spade";
c2.number = 4;
System.out.println("c1은 " + c1.kind + ", " + c1.number + "이며, 크기는 ("
+ c1.width + ", " + c1.height + ")");
System.out.println("c2은 " + c2.kind + ", " + c2.number + "이며, 크기는 ("
+ c2.width + ", " + c2.height + ")");
System.out.println("c1의 width와 height를 각각 50, 80으로 변경합니다.");
c1.width = 50;
c1.height = 80;
System.out.println("c1은 " + c1.kind + ", " + c1.number + "이며, 크기는("
+ c1.width + ", " + c1.height + ")");
System.out.println("c2은 " + c2.kind + ", " + c2.number + "이며, 크기는("
+ c2.width + ", " + c2.height + ")");
}
}
class Card {
String kind;
int number;
static int width = 100;
static int height = 250;
}
반응형'프로그래밍 > JAVA' 카테고리의 다른 글
[JSP] JSP 기본 (1) (0) 2015.07.13 [JAVA] IO Stream (1) (0) 2015.07.08 [JAVA] 객체지향언어 : 클래스와 객체 (1) (0) 2015.07.07 [JAVA] 배열의 종류 및 활용 (0) 2015.07.06 [JAVA] 배열의 활용 (0) 2015.07.03