728x90
반응형
compile java에서 1010바이트 코드로 변환
BoxEx.java
package three; class Box{ long idNum; static long boxID = 0; public Box() { idNum = boxID++; } } public class BoxEx { public static void main(String[] args) { Box box1 = new Box(); Box box2 = new Box(); Box box3 = new Box(); Box box4 = new Box(); System.out.println("box1의 idNum : " + box1.idNum); System.out.println("box2의 idNum : " + box2.idNum); System.out.println("box3의 idNum : " + box3.idNum); System.out.println("box4의 idNum : " + box4.idNum); System.out.println("박스 총 개수 : " + Box.boxID); } }
box1의 idNum : 0 box2의 idNum : 1 box3의 idNum : 2 box4의 idNum : 3 박스 총 개수 : 4
AccountEx.java
package three; class Account { int count; static int total; Account(int amount) { count += amount; total += amount; } } public class AccountEx { public static void main(String[] args) { System.out.println("Account.total : " + Account.total); Account acc01 = new Account(10); System.out.println("acc01.total : " + acc01.total); System.out.println("acc01.count : " + acc01.count); Account acc02 = new Account(10); System.out.println("acc01.total : " + acc02.total); System.out.println("acc01.count : " + acc02.count); Account acc03 = new Account(10); System.out.println("acc01.total : " + acc03.total); System.out.println("acc01.count : " + acc03.count); } }
Account.total : 0 acc01.total : 10 acc01.count : 10 acc01.total : 20 acc01.count : 10 acc01.total : 30 acc01.count : 10
Ex.java
package three; class Box1 { long idNum; static long boxID = 100; static long getcurrentID() { return ++boxID; // return boxID++; } } public class Ex { public static void main(String[] args) { Box1 mybox1 = new Box1(); mybox1.idNum = Box1.getcurrentID(); Box1 mybox2 = new Box1(); mybox2.idNum = mybox2.getcurrentID(); System.out.println("mybox1의 id 번호 : " + mybox1.idNum); System.out.println("mybox2의 id 번호 : " + mybox2.idNum); System.out.println("박스의 번호는 " + Box1.boxID + "번 입니다."); } }
mybox1의 id 번호 : 100 mybox2의 id 번호 : 101 박스의 번호는 102번 입니다.
FieldEx.java
package three; class Field { static int classVar = 10; //클래스 변수 선언 int instanceVar = 20; //인스턴스 변수 선연 = 멤버변수 void method() { int something = 10; //지역 변수 System.out.println(something); } } public class FieldEx { public static void main(String[] args) { int var = 30; //지역 변수 선언 System.out.println(var + "\n"); //지역 변수 참조 Field myField1 = new Field(); //인스턴스 생성 Field myField2 = new Field(); //인스턴스 생성 System.out.println(Field.classVar); //클래스 변수 참조 System.out.println(myField1.classVar); System.out.println(myField2.classVar + "\n"); myField1.classVar = 100; //클래스 변수의 값을 변경 System.out.println(Field.classVar); //클래스 변수 참조 System.out.println(myField1.classVar); System.out.println(myField2.classVar + "\n"); System.out.println(myField1.instanceVar); //인스턴스 변수 참조 System.out.println(myField2.instanceVar + "\n"); myField1.instanceVar = 200; //인스턴스 변수의 값을 변경 System.out.println(myField1.instanceVar); //인스턴스 변수 참조 System.out.println(myField2.instanceVar); myField1.method(); } }
30 10 10 10 100 100 100 20 20 200 20 10
MethodEx.java
package three; class Method { //public Method(){} int a = 10, b = 20; //멤버변수, 인스턴스변수 int add() { return a + b ; } //멤버메소드, 인스턴스메소드 //30 static int add(int x, int y) { return x + y; } //static메소드-멤버위장,정적변수, 클래스변수 //50 } public class MethodEx { public static void main(String[] args) { //메인메소드 System.out.println(Method.add(20, 30)); //50 //Method.add(20, 30) static메소드,클래스메소드,정적메소드 호출문 Method myMethod = new Method(); //객체생성문 System.out.println(myMethod.add()); //30 //myMethod.add() 메소드,멤버메소드,인스턴스 메소드 호출문 } }
50 30
School.java
package three; class Student { private String name; private int id; private int age; public Student() {} //기본생성자 public Student(String name, int id, int age) { //기타생성자 this.name = name; this.id = id; this.age = age; } public void setName(String name) {this.name = name;} //메소드 public void setId(int id) {this.id = id;} //메소드 public void setAge(int age) {this.age=age;} //메소드 public String getName() {return name;} public int getId() {return id;} public int getAge() {return age;} } public class School { public static void main(String[] args) { Student stu = new Student(); stu.setName("홍길동"); stu.setId(2017313297); stu.setAge(20); System.out.println("이름 : " + stu.getName()); System.out.println("학번 : " + stu.getId()); System.out.println("나이 : " + stu.getAge()); Student s1 = new Student("마이콜", 220302005, 25); Student s2 = new Student("고길동", 200302001, 41); Student[] sarr = new Student[2]; sarr[0] = s1; sarr[1] = s2; System.out.printf("%s, %s, %d\n", sarr[0].getName(),sarr[0].getId(), sarr[0].getAge()); System.out.println(sarr[1].getName() + ", " + sarr[1].getId() + ", " + sarr[1].getAge()); } }
이름 : 홍길동 학번 : 2017313297 나이 : 20 마이콜, 220302005, 25 고길동, 200302001, 41
728x90
반응형
'[JAVA]' 카테고리의 다른 글
[20231222] 10일차 오후 (0) | 2023.12.22 |
---|---|
[20231222] 10일차 (0) | 2023.12.22 |
[20231221] 9일차 오전 (0) | 2023.12.21 |
[20231220] 8일차 오후 (0) | 2023.12.20 |
[20231220] 8일차 - 객체 (0) | 2023.12.20 |