diff --git a/JavaOOP/src/Java10.java b/JavaOOP/src/Java10.java new file mode 100644 index 00000000..3c548253 --- /dev/null +++ b/JavaOOP/src/Java10.java @@ -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); + } +} diff --git a/JavaOOP/src/Java11.java b/JavaOOP/src/Java11.java new file mode 100644 index 00000000..3be5f7b9 --- /dev/null +++ b/JavaOOP/src/Java11.java @@ -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); + } +} diff --git a/JavaOOP/src/Java12.java b/JavaOOP/src/Java12.java new file mode 100644 index 00000000..1460d9a9 --- /dev/null +++ b/JavaOOP/src/Java12.java @@ -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(); + } +} diff --git a/JavaOOP/src/object/BookVO.java b/JavaOOP/src/object/BookVO.java new file mode 100644 index 00000000..b5d9ecb7 --- /dev/null +++ b/JavaOOP/src/object/BookVO.java @@ -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; + } +} diff --git a/JavaOOP/src/object/PrivateConstructor.java b/JavaOOP/src/object/PrivateConstructor.java new file mode 100644 index 00000000..9e8a3e95 --- /dev/null +++ b/JavaOOP/src/object/PrivateConstructor.java @@ -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"); + } +}