전역변수지역변수매개변수참조변수클래스변수인스턴스변수전역변수지역변수매개변수참조변수클래스변수인스턴스변수.....
package work;
class SubClass1 {
void b(int a)
{
int b = 20;
}
void bb(SubClass2 x,int y) {
int z = x.cc(y);
}
}
class SubClass2 {
int cc(int x) {
int c = 30;
return x+c;
}
}
public class MainClass {
public static void main(String[] args)
{
int a = 10;
SubClass1 obj1 = new SubClass1();
SubClass2 obj2 = new SubClass2();
obj1.b(a);
int v = obj2.cc(a);
obj1.bb(obj2,a);
}
}
package work;
class SubClass1 {
void b(int a)
{
int b = 20;
}
void bb(SubClass2 x,int y) {
int z = x.cc(y);
}
}
class SubClass2 {
int cc(int x) {
int c = 30;
return x+c;
}
}
public class MainClass {
public static void main(String[] args)
{
int a = 10;
SubClass1 obj1 = new SubClass1();
SubClass2 obj2 = new SubClass2();
obj1.b(a);
int v = obj2.cc(a);
obj1.bb(obj2,a);
}
}
package work;
public class SubClass {
static int bb = 10;
int bbb = 20;
void bbbb() {
bbb = bb+bbb;
}
}
public class MainClass {
public static void main(String[] args) {
int x = SubClass.bb;
SubClass obj = new SubClass();
int y = obj.bbb;
System.out.println("x="+x);
(obj.bb)++;
System.out.println("SubClass.bb="+SubClass.bb);
System.out.println("y="+y);
obj.bbbb();
y = obj.bbb;
System.out.println("y="+y);
}
}
package work;
public class SubClass {
static int bb = 10;
int bbb = 20;
void bbbb() {
bbb = bb+bbb;
}
}
public class MainClass {
public static void main(String[] args)
{
int x = SubClass.bb;
SubClass obj = new SubClass();
int y = obj.bbb;
System.out.println("x="+x);
(obj.bb)++;
System.out.println("SubClass.bb="+SubClass.bb);
System.out.println("y="+y);
obj.bbbb();
y = obj.bbb;
System.out.println("y="+y);
}
}
package chapter11;
public class SubClassB {
static int staticVarC = 4;
private static int staticVarD = 8;
int instanceVarC = 12;
private int instanceVarD = 16;
public static int getStaticVarD() {
return staticVarD;
}
public static void setStaticVarD(int i) {
staticVarD = i;
}
public int getInstanceVarD() {
return instanceVarD;
}
public void setInstanceVarD(int i) {
instanceVarD = i;
}
public void printVar(int i) {
System.out.println("전달받은 값은 "+i+"입니다.");
}
public void printVar2(int i, int j) {
int res = MainClassA.plusVar(i, j);
System.out.println("결과는 "+res+"입니다.");
}
public void printVarA(MainClassA a) {
System.out.println("A의 staticVarA : "+MainClassA.staticVarA);
System.out.println("A의 instanceVarA : "+a.instanceVarA);
System.out.println("A의 staticVarB : "+MainClassA.getStaticVarB());
System.out.println("A의 instanceVarB : "+a.getInstanceVarB());
}
public void setVarA(MainClassA a) {
MainClassA.staticVarA += 1;
a.instanceVarA += 1;
int b = MainClassA.getStaticVarB()+1;
MainClassA.setStaticVarB(b);
int b2 = a.getInstanceVarB()+1;
a.setInstanceVarB(b2);
}
}
package chapter11;
public class MainClassA {
static int staticVarA = 5;
private static int staticVarB = 10;
int instanceVarA = 15;
private int instanceVarB = 20;
public static int getStaticVarB() {
return staticVarB;
}
public int getInstanceVarB() {
return instanceVarB;
}
public static void setStaticVarB(int i) {
staticVarB = i;
}
public void setInstanceVarB(int i) {
instanceVarB = i;
}
public static int plusVar(int i, int j) {
return i+j;
}
public static void main(String[] args) {
int statC = SubClassB.staticVarC;
int statD = SubClassB.getStaticVarD();
SubClassB.staticVarC = 5;
SubClassB.setStaticVarD(9);
SubClassB b = new SubClassB();
int insC = b.instanceVarC;
int insD = b.getInstanceVarD();
b.instanceVarC = 13;
b.setInstanceVarD(17);
System.out.println("가져온 staticVarC : "+statC);
System.out.println("B클래스 안의 staticVarC : "+SubClassB.staticVarC);
System.out.println("가져온 staticVarD : "+statD);
System.out.println("B클래스 안의 staticVarD : "+SubClassB.getStaticVarD());
System.out.println("가져온 instanceVarC : "+insC);
System.out.println("B클래스 안의 instanceVarC : "+b.instanceVarC);
System.out.println("가져온 instanceVarD : "+insD);
System.out.println("B클래스 안의 instanceVarD : "+b.getInstanceVarD());
int localVarA = 3;
int localVarB = 6;
b.printVar(localVarA);
b.printVar(localVarB);
b.printVar2(localVarA,localVarB);
b.printVar2(SubClassB.staticVarC,statD);
MainClassA a = new MainClassA();
b.printVarA(a);
b.setVarA(a);
b.printVarA(a);
}
}
[실행 결과]
가져온 staticVarC : 4
B클래스 안의 staticVarC : 5
가져온 staticVarD : 8
B클래스 안의 staticVarD : 9
가져온 instanceVarC : 12
B클래스 안의 instanceVarC : 13
가져온 instanceVarD : 16
B클래스 안의 instanceVarD : 17
전달받은 값은 3입니다.
전달받은 값은 6입니다.
결과는 9입니다.
결과는 13입니다.
A의 staticVarA : 5
A의 instanceVarA : 15
A의 staticVarB : 10
A의 instanceVarB : 20
A의 staticVarA : 6
A의 instanceVarA : 16
A의 staticVarB : 11
A의 instanceVarB : 21