package day12;
public class Car {
int price; //전역변수
String color;
String brand;
//생성자(메서드의 기능과 같다)
public Car(int price, String color, String brand) {
this.price = price; //그 객체의 price 내가 외부에서 받은 값을 초기화 하는 것
this.color = color;
this.brand = brand;
}
double speedUp(double speed){
speed++;
return speed;
}
double speedDown(double speed){
speed--;
return speed;
}
void showInfo() {
System.out.println(this);
System.out.println("브랜드 : "+brand+ "\n색상: "+color+ "\n가격: " +price+ "만원");
}
public static void main(String[] args) {
//객체화
//인스턴스 변수
//클래스명() : 기본 생성자
//클래스를 선언하면 자동으로 선언되는 생성자, 내가 임의로 생성자를 선언하면 이게 기본 생성자가 된다
Car momCar = new Car(9000, "Black", "Benz"); //생성자는 메서드가 아니지만, 기능은 같다
momCar.showInfo();
// Car daddyCar = new Car();
// Car myCar = new Car();
// momCar.brand="Benz";
// momCar.color="Black";
// momCar.price=9000;
//
// momCar.showInfo();
// System.out.println(momCar);
//
// daddyCar.showInfo();
}
}
Alt + Shift + s > o 생성자 단축키
초기화 할 필드 선택 후 Generate를 누르면 자동으로 생성 된다
오버로딩(Over loading)
매개변수의 개수와 타입은 다르지만 이름이 같은 메서드를 여러 개 정의하는 것
메서드에서 두 정수의 덧셈 등등을 만든다고 하면,
package day12;
public class OverLoading {
//오버로딩이란 기능 매개변수의 개수가 다르다. 이름이 같더라도 구분점이 생긴다
//이름을 같게 해도 컴파일러는 전달한 값의 개수로 구분할 수 있다
void add(int num1, int num2) {
System.out.println("두 정수의 합");
System.out.println(num1+num2);
}
void add(int num1, int num2, int num3) {
System.out.println("세 정수의 합");
System.out.println(num1+num2+num3);
}
void add(double num1, double num2) {
System.out.println("두 실수의 합");
System.out.println(num1+num2);
}
public static void main(String[] args) {
OverLoading o = new OverLoading();
o.add(10, 20);
o.add
}
}
package day12;
public class OverLoading {
//오버로딩의 기능? 매개변수의 개수가 다르거나 이름이 같더라도 구분점이 생긴다
//이름을 같게 해도 컴파일러는 전달한 값의 개수로 구분할 수 있다
void add(int num1, int num2) {
System.out.println("두 정수의 합");
System.out.println(num1+num2);
}
void add(int num1, int num2, int num3) {
System.out.println("세 정수의 합");
System.out.println(num1+num2+num3);
}
void add(double num1, double num2) {
System.out.println("두 실수의 합");
System.out.println(num1+num2);
}
public static void main(String[] args) {
OverLoading o = new OverLoading();
o.add(10, 20);
o.add(10.5, 20.9);
o.add(1, 2, 3);
}
}
두 정수의 합
30
두 실수의 합
31.4
세 정수의 합
6
예제
package day12;
//강아지 고양이 돼지 객체화 하기
//생성자 사용해서 초기화 하기 생성자 단축키 Alt + Shift + s > o
public class Animal {
String name;
int age;
double weight;
String feed;
String sound;
public Animal() {} //오버로딩
public Animal(String name, int age, double weight, String feed,String sound) {
this.name = name;
this.age = age;
this.weight = weight;
this.feed = feed;
this.sound = sound;
}
void getSound(){
System.out.println(sound);
}
void eat() {
System.out.println(name + "이(가)" +feed+ "을(를) 먹는중.");
}
void sleep() {
System.out.println(name + "이(가) 자는중.");
}
public static void main(String[] args) {
Animal cat = new Animal();
Animal dog = new Animal();
Animal pig = new Animal("배꼽", 4, 35.2, "곡식", "꿀꿀");
pig.eat();
pig.getSound();
pig.sleep();
}
}
배꼽이(가)곡식을(를) 먹는중.
꿀꿀
배꼽이(가) 자는중.
728x90
'Dev. > java' 카테고리의 다른 글
Java 항공 관리 프로그램 (0) | 2022.05.26 |
---|---|
Java :: 접근 권한 제어자 (0) | 2022.05.23 |
Java :: Class(객체화) (0) | 2022.05.22 |
Java 메서드 2 (0) | 2022.05.22 |
Java 2차원 배열로 매장별 매출 구하기 (0) | 2022.05.21 |
댓글