Frog is cry
메소드 (Day16) 본문
package day17;
// 메소드 선언
public class Calculator {
// 메소드
void powerOn() {
System.out.println("전원을 켭니다.");
}
int plus(int x, int y) {
int result = x + y;
return result;
}
double divide(int x, int y) {
double result = (double)x / (double)y;
return result;
}
void powerOff() {
System.out.println("전원을 끕니다.");
}
}
package day17;
public class Calculator_Ex {
public static void main(String[] args) {
Calculator myCalc = new Calculator();
myCalc.powerOn(); // 반환형이 없는 메소드를 호출함
//
int result1 = myCalc.plus(5, 6); // 반환형이 int인 메소드를 호출함
System.out.println("result1 : " + result1);
//
byte x = 10;
byte y = 4;
double result2 = myCalc.divide(x, y);
// 반환형이 double인 메소드를 호출함
System.out.println("result2 : " + result2);
myCalc.powerOff();
}
}
package day17;
public class Korean {
String nation = "대한민국"; // 필드선언 및 초기화
String name; // 필드 선언만
String ssn; // 필드 선언만
// 생성자
public Korean(String name, String ssn) {
// name = name; // name = 필드, n = 매개변수
// ssn = ssn; // ssn = 필드 , s = 매개변수
//
this.name = name; // this.name = 필드, name = 매개변수
this.ssn = ssn; // this.ssn = 필드 , ssn = 매개변수
}
}
package day17;
public class Korean_Ex {
public static void main(String[] args) {
Korean k1 = new Korean("박자바", "012345-1234567");
System.out.println("k1.nation : " + k1.nation );
System.out.println("k1.name : " + k1.name );
System.out.println("k1.ssn : " + k1.ssn );
//
Korean k2 = new Korean("김자바", "543210-7654321");
System.out.println("k2.nation : " + k2.nation );
System.out.println("k2.name : " + k2.name);
System.out.println("k2.ssn : " + k2.ssn);
}
}
package day17;
// 생성자 선언 : Car 클래스
public class Car {
// 생성자
Car(){} // 이것은 자동 생성자를 대행하는 역할을 합니다.
Car(String color, int cc) { // 생성자의 특징 : 클래스명과 동일하다.
// 이 생성자는 명시적 생성자입니다. 자동 생성자가 아닙니다.
// 명시적 생성자를 만들면 자동생성자를 자바가 자동으로 만들어주지 않습니다.
// 메서드와 비교했을 때 반환값이 없다
System.out.println("color : " + color);
System.out.println("cc : " + cc);
}
}
package day17;
public class Car_Ex {
public static void main(String[] args) {
Car c1 = new Car("검정색", 3000);
Car c2 = new Car(); // 기본생성자를 만들어줘야함
}
}
package day17;
// 생성자 오버로딩
public class Car2 {
// 필드
String company = "현대자동차";
String model;
String color;
int maxSpeed;
// 생성자1
Car2(){}
//생성자2
Car2(String model) {
this.model = model; // model매개변수값을 this.model필드에 할당
}
//생성자 3
Car2(String model, String color) {
this.model = model;
this.color = color;
}
//생성자4
Car2(String model, String color, int maxSpeed) {
this.model = model;
this.color = color;
this.maxSpeed = maxSpeed;
}
}
package day17;
public class Car2_Ex2 {
public static void main(String[] args) {
Car2 car1 = new Car2("자가용");
System.out.println("car1.company" + car1.company);
System.out.println();
//
Car2 car2 = new Car2("자가용");
System.out.println("car2.company" + car2.company);
System.out.println("car2.model" + car2.model);
System.out.println();
//
Car2 car3 = new Car2("자가용", "빨강");
System.out.println("car3.company" + car3.company);
System.out.println("car3.model" + car3.model);
System.out.println("car3.color" + car3.color);
System.out.println();
//
Car2 car4 = new Car2("자가용", "빨강", 200);
System.out.println("car4.company" + car4.company);
System.out.println("car4.model" + car4.model);
System.out.println("car4.color" + car4.color);
System.out.println("car4.maxSpeed" + car4.maxSpeed);
System.out.println();
}
}
package day17;
public class Car3 {
// 필드
String company = "현대자동차";
String model;
String color;
int maxSpeed;
// 생성자1
Car3(){}
//생성자2
Car3(String model) { // 매개변수가 1개인 생성자
this(model, "은색", 250); // model매개변수값을 this.model필드에 할당
}
//생성자 3
Car3(String model, String color) {
this(model, color , 250);
}
//생성자4
Car3(String model, String color, int maxSpeed) {
this.model = model;
this.color = color;
this.maxSpeed = maxSpeed;
}
}
package day17;
public class Car3_Ex {
public static void main(String[] args) {
Car3 car1 = new Car3("자가용"); // 생성자 1번(매개변수 없는것) 사용함
System.out.println("car1.company" + car1.company);
System.out.println();
//
Car3 car2 = new Car3("자가용"); // 생성자 2번(매개변수가 model인것) 사용
System.out.println("car2.company" + car2.company);
System.out.println("car2.model" + car2.model);
System.out.println();
//
Car3 car3 = new Car3("자가용", "빨강"); // 생성자 3번(매개변수가 model, color 인것) 사용
System.out.println("car3.company" + car3.company);
System.out.println("car3.model" + car3.model);
System.out.println("car3.color" + car3.color);
System.out.println();
//
Car3 car4 = new Car3("자가용", "빨강", 200); // 생성자 4번(매개변수가 model, color, maxSpeed 인것) 사용
System.out.println("car4.company" + car4.company);
System.out.println("car4.model" + car4.model);
System.out.println("car4.color" + car4.color);
System.out.println("car4.maxSpeed" + car4.maxSpeed);
System.out.println();
}
}
package day17;
public class Car4 {
// 필드
int gas;
//생성자
// 메소드
void setGas(int gas) {
// 리턴값이 없는 메소드로 매개변수를 받아서 gas필드값을 변경함
this.gas = gas;
}
boolean isLeftGas() {
if(gas == 0) {
System.out.println("gas가 없습니다.");
return false;
}
System.out.println("gas가 있습니다.");
return true;
}
void run() {
while(true) {
if(gas > 0) {
System.out.println("달립니다.(gas잔량:" + gas + ")");
gas -= 1;
} else {
System.out.println("멈춥니다.(gas잔량:" + gas + ")");
return;
}
}
}
}
package day17;
public class Car4_Ex {
public static void main(String[] args) {
Car4 myCar = new Car4();
myCar.setGas(5);
boolean gasState = myCar.isLeftGas();
if(gasState) {
System.out.println("출발합니다.");
myCar.run();
}
if(myCar.isLeftGas()) {
System.out.println("gas를 주입할 필요가 없습니다.");
}else {
System.out.println("gas를 주입하세요");
}
}
}
package day17;
public class Car5 {
String color = "빨강";
String brand;
Car5() {} // 기본 생성자
Car5(String brand) { // 명시적 생성자
this.brand = brand;
}
}
package day17;
public class Car5_Ex {
public static void main(String[] args) {
Car5 c1 = new Car5();
Car5 c2 = new Car5("벤츠");
System.out.println("c2.brand : "+ c2.brand);
}
}
package day17;
public class Car6 {
String brand;
int cc;
Car6() {}
Car6(String brand, int cc) {
this.brand = brand;
this.cc = cc;
}
}
package day17;
public class Car6_Ex {
public static void main(String[] args) {
Car6 myCar1 = new Car6("벤츠", 2000);
Car6 myCar2 = new Car6("BMW", 3000);
System.out.println(myCar1.brand + myCar1.cc);
System.out.println(myCar2.brand + myCar2.cc);
}
}
package day17;
public class Car7 {
String field1 = "첫번째 필드입니다.";
String field2;
int field3;
double field4;
Car7(){ }
Car7(String field2){
this.field2 = field2;
}
Car7(String field2, int field3){
this.field2 = field2;
this.field3 = field3;
}
Car7(String field2, int field3, double field4){
this.field2 = field2;
this.field3 = field3;
this.field4 = field4;
}
}
package day17;
public class Car7_Ex {
public static void main(String[] args) {
Car7 c1 = new Car7() {};
System.out.println(c1.field1);
System.out.println(c1.field2);
System.out.println(c1.field3);
System.out.println(c1.field4);
Car7 c2 = new Car7("이") {};
System.out.println(c2.field1);
System.out.println(c2.field2);
System.out.println(c2.field3);
System.out.println(c2.field4);
Car7 c3 = new Car7("삼", 30) {};
System.out.println(c3.field1);
System.out.println(c3.field2);
System.out.println(c3.field3);
System.out.println(c3.field4);
Car7 c4 = new Car7("사", 40, 45) {};
System.out.println(c4.field1);
System.out.println(c4.field2);
System.out.println(c4.field3);
System.out.println(c4.field4);
}
}
'JAVA > 국비수업' 카테고리의 다른 글
스테틱 변수(day18) (0) | 2020.07.23 |
---|---|
메소드(day17) (0) | 2020.07.22 |
Day20 (0) | 2020.07.20 |
Day19 (0) | 2020.07.20 |
클래스(Day15) (0) | 2020.07.20 |
Comments