달력

4

« 2024/4 »

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30

'변수'에 해당되는 글 2

  1. 2012.07.30 Runtime Data Access
  2. 2009.09.29 [Java] Inner Class에 이런 것이 있었군요...
2012. 7. 30. 10:06

Runtime Data Access 그거/Java2012. 7. 30. 10:06

Java 의 변수 구분


- Class Variables

- Member Variables

- Parameter Variables

- Local Variables


- Class Variable

static 변수. Class 에 속해 있는 변수.

Method Area 의 Class Variable 영역에 할당.

모든 Thread 에 의해 공유.


- Member Variable

instance 변수. instance 에 속해 있는 변수


- Parameter Variable

method 의 매개변수. method 에 속해 있는 변수.

변수의 정보는 Method Area 의 Method Information에 포함.

JVM Stacks 에 할당.


- Local Variable

Parameter Variable 과 동일한 부류. method 내에서 정의되는 변수.

Local Variable 은 Parameter Variable 과 같이 Method Information 에 변수 정보가 위치하고 JVM Stacks 에 할당.


Class VariableArrange {

static int ci = 3 ;    // Class Variable

int mi = 4;            // Member Variable


void method(int pi, String ps) {    // Parameter Variable

int li = 5;                            // Local Variable

}

}



중요!!!

Parameter Variable 과 Local Variable 은 Thread Safe 변수.

사용자가 Method 내에서 선언한 Local Variable 의 값에 대해 다른 Thread 의 접근이 불가능.

JVM Stacks 는 다른 Thread 에 의해 접근이 불가능하기 때문.


- 출처 : Java Performance Fundamental (김한도 지음) -

:
Posted by 뽀기
Inner Class에서 OuterClass의 변수를 참조하려면 아래와 같이 해야 된다는군요.
홋.홋.홋.홋.

01: class OuterClass {
02:     int varA = 100;
03:     class InnerClass {
04:         static final int varA = 20;
05:         void methodCall() {
06:             int varB = varA;
07:             int varC = this.varA;
08:             int varD = Outer.this.varA;
09:         }
10:     }
11: }

02 라인의 varA와 04 라인의 varA의 변수명이 같습니다.
이런 경우, 아래 처럼 하면....

06:             int varB = varA;
07:             int varC = this.varA;

varB와 varC에는 20이란 값이 들어갑니다.


OuterClass에 정의되어 있는 변수에 접근하기 위해서는....
아래와 같이 해야 합니다~

08:             int varD = Outer.this.varA;

varD에는 100이란 값이 들어가는거죠!
:
Posted by 뽀기