package ch01_basic;
/*
* 객체 지향 프로그래밍 ( OOP : Object Oriented Programming )
* → class 를 사용해서 객체를 생성하고, 만들어진 객체를 사용해서 하나의 프로그램을 만드는 것.
*
* class
* → 객체를 만들기 위한 설계도.
* → 객체에 속성과 기능을 코드로서 구현한 것.
*
* 객체 ( Object )
* → class를 사용하여 만들어진 것, instance라고도 부름.
* → 하나의 class로 여러개의 instance를 생성할 수 있음.
*
* class 구성
* → 멤버 필드 : 변수(instance 변수) -> 객체 고유의 데이터.
* 멤버 메서드 : 객체 기능, 동작 구현.
*
*/
// public 접근제한자는 파일 명과 동일한 class 명에만 적용가능.
class Human {
// 멤버 필드
String name;
int age;
// 멤버 매서드
void info() {
System.out.println("이름 : " + name);
System.out.println("나이 : " + age);
}
void run() {
System.out.println(name + "이가 달리기를 합니다.");
}
}
public class ExClassBasic {
public static void main(String[] args) {
Human manA;
manA = new Human();
manA.name = "manA";
manA.age = 20;
System.out.println("이름 : " + manA.name);
System.out.println("나이 : " + manA.age);
System.out.println();
Human manB = new Human();
manB.name = "manB";
manB.age = 30;
manB.info();
manB.run();
}
}
package ch01_basic;
import java.util.Scanner;
public class Monitor {
String company; // 제조회사
String size; // 모니터 크기
String panel; // 패널 형태
void setInfo(String _company, String _size, String _panel) {
company=_company;
size=_size;
panel=_panel;
}
void inputInfo() {
Scanner sc = new Scanner(System.in);
System.out.print("제조회사 입력 > ");
company = sc.next();
System.out.print("화면크기 입력 > ");
size = sc.next();
System.out.print("패널형태 입력 >");
panel = sc.next();
sc.close();
}
void info() {
System.out.println("--- 모니터정보 ---");
System.out.println("제조회사 : " + company);
System.out.println("화면크기 : " + size + "인치");
System.out.println("패널형태 : " + panel);
}
}
-------------------------------------------------------------------------------
package ch01_basic;
public class MonitorManager {
public static void main(String[] args) {
// 동일한 패키지에 Monitor 클래스를 만들어놔서, 사용가능.
Monitor proA = new Monitor();
proA.company = "LG";
proA.size = "27";
proA.panel = "평면";
proA.info();
System.out.println();
Monitor proB = new Monitor();
proB.setInfo("삼성", "27", "커브드");
proB.info();
System.out.println();
Monitor proC = new Monitor();
proC.inputInfo();
proC.info();
}
}
package ch01_basic;
import java.util.Scanner;
public class Book {
/*
* Book class 를 정의하고, BookManager class 에서 테스트 하세요
* - 책제목, 지은이, 진열위치, 가격의 관리가 가능합니다
*
*/
String Book_name;
String person;
String where;
int cost;
void setInfo(String _Book_name, String _person, String _where, int _cost) {
Book_name=_Book_name;
person=_person;
where=_where;
cost=_cost;
}
void info() {
System.out.println("----- 책 정보 -----");
System.out.println("책제목 : " + Book_name);
System.out.println("책지은이 : " + person);
System.out.println("진열위치 : " + where);
System.out.println("책 가격 : " + cost + "원");
}
void inputInfo() {
Scanner sc = new Scanner(System.in);
System.out.print("책 제목을 입력하세요 > ");
Book_name=sc.next();
System.out.print("책 지은이를 입력하세요 > ");
person=sc.next();
System.out.print("진열위치를 입력하세요 > ");
where=sc.next();
System.out.print("책 가격을 입력하세요 > ");
cost=sc.nextInt();
sc.close();
}
}
-------------------------------------------------------------------------------
package ch01_basic;
public class BookManager {
public static void main(String[] args) {
Book bk = new Book();
bk.Book_name = "자바";
bk.person = "홍길동";
bk.where = "B-09";
bk.cost = 28000;
bk.info();
System.out.println();
bk.setInfo("파이썬", "김민수", "C-11", 25000);
bk.info();
System.out.println();
bk.inputInfo();
bk.info();
}
}
package ch01_basic;
public class Car {
/*
* Car class 를 정의하고, CarManager class 에서 테스트 하세요
* - 차량의 제조회사, 모델명, 색상, 가격의 관리가 가능합니다
*/
String company;
String model;
String color;
int cost;
void setInfo(String _company, String _model, String _color, int _cost) {
company=_company;
model=_model;
color=_color;
cost=_cost;
}
void info() {
System.out.println("----- 차 정보 -----");
System.out.println("제조회사 : " + company);
System.out.println("모델 : " + model);
System.out.println("색상 : " + color);
System.out.println("가격 : " + cost + "만원");
}
}
-------------------------------------------------------------------------------
package ch01_basic;
public class CarManager {
public static void main(String[] args) {
Car car = new Car();
car.setInfo("현대", "아반떼", "블랙" , 1000);
car.info();
}
}