java oop : 메모리에 객체 생성과정

This commit is contained in:
haerong22
2021-03-07 15:35:21 +09:00
parent 7df93548f9
commit 61893a9dcb
5 changed files with 86 additions and 0 deletions

23
JavaOOP/src/Java10.java Normal file
View File

@@ -0,0 +1,23 @@
import object.BookVO;
public class Java10 {
public static void main(String[] args) {
/**
* 책 (BookVO) 이라는 자료형 만들기 -> class 를 통해 만든다.
* class 를 만들면 디폴트 생성자가 자동 생성된다. (생략)
* 생성자는 객체를 생성하는 작업을 한다. (기계어코드)
* 객체를 생성하면 이 객체를 가리키는 this 객체도 자동 생성된다.
*/
BookVO b = new BookVO(); // 객체 생성
b.title = "자바";
b.price = 20000;
b.company = "출판사";
b.page = 670;
System.out.println(b.title);
System.out.println(b.price);
System.out.println(b.company);
System.out.println(b.page);
}
}

14
JavaOOP/src/Java11.java Normal file
View File

@@ -0,0 +1,14 @@
import object.BookVO;
public class Java11 {
public static void main(String[] args) {
// 생성자 -> 생성 + 초기화 -> 중복정의
BookVO b = new BookVO("자바",20000,"길벗",790);
System.out.println(b.title);
System.out.println(b.price);
System.out.println(b.company);
System.out.println(b.page);
}
}

16
JavaOOP/src/Java12.java Normal file
View File

@@ -0,0 +1,16 @@
import object.PrivateConstructor;
public class Java12 {
public static void main(String[] args) {
// // 생성자가 private 이므로 객체 생성 불가
// PrivateConstructor pc = new PrivateConstructor();
//
// // non-static-method 사용 불가
// PrivateConstructor.nonStaticMethod();
// static-method 만 사용가능
PrivateConstructor.staticMethod();
}
}

View File

@@ -0,0 +1,18 @@
package object;
public class BookVO {
public String title;
public int price;
public String company;
public int page;
public BookVO() {
}
public BookVO(String title, int price, String company, int page) {
this.title = title;
this.price = price;
this.company = company;
this.page = page;
}
}

View File

@@ -0,0 +1,15 @@
package object;
public class PrivateConstructor {
private PrivateConstructor() {
}
public void nonStaticMethod() {
System.out.println("non-static-method");
}
public static void staticMethod() {
System.out.println("static method");
}
}