Next:
Inner class
, Previous:
Lambda expression-1
, Up:
Index
Runnable
import
java
.
lang
.
*
java.lang은 자동으로 import 되기 때문에 굳이 import 할 필요는 없다.
Runnable interface는 자바에서 스레드를 만들 때 사용하는 인터페이스이다.
Runnable 을 implemets 한 클래스는 반드시 run() 메서드를 구현해야 한다.
LocalInnerTest.java
package
innerclass
;
class
Outer
{
int
outNum
=
100
;
static
int
sNum
=
200
;
Runnable
getRunnable
(
int
i
) {
int
num
=
100
;
//
지
역
내
부
클
래
스
class
MyRunnable
implements
Runnable
{
int
localNum
=
100
;
@
Override
public
void
run
() {
//
지
역
변
수
는
상
수
로
바
뀌
므
로
num
은
변
경
불
가
능
하
다
.
//
매
개
변
수
지
역
변
수
처
럼
상
수
로
빠
뀌
므
로
i
는
변
경
불
가
능
하
다
.
System
.
out
.
println
(
"i ="
+
i
);
System
.
out
.
println
(
"num= "
+
num
);
System
.
out
.
println
(
"localNum= "
+
localNum
);
System
.
out
.
println
(
"outNum= "
+
outNum
+
"(
외
부
클
래
스
인
스
턴
스
변
수
"
);
System
.
out
.
println
(
"Outer.sNum= "
+
Outer
.
sNum
+
"(
외
부
클
래
스
정
적
변
수
)"
);
}
}
return
new
MyRunnable
();
}
}
public
class
LocalInnerTest
{
public
static
void
main
(
String
[]
args
) {
Outer
out
=
new
Outer
();
Runnable
runner
=
out
.
getRunnable
(
10
);
runner
.
run
();
}
}