1. 선언방법
-class 아래에 작성 예) class Car String brand = "현대"; //전역
1) 같은 클래스 내에서 사용 - 지역변수와 동일하게 사용 예) class Car{ String brand = "현대"; //전역 void method(){ brand = "기아"; //전역 String local = "지역" // 지역 }
}
2) 다른 클래스에서 사용
- 객체화 진행후 사용 예) class Main{ main(){ Car vCar = new Car(); //객체화 vCar.brand = "기아"; //전역변수사용 } }
package method;
public class MainClass {
public static void main(String[] args) {
MainClass mc = new MainClass(); //객체화
mc.method1();
//String mcStr = mc.method2(); //str -> "반환O, 입력X 메소드"
//System.out.println(mcStr);
System.out.println(mc.method2());
mc.method3("반환X, 입력O 메소드");
//int sum = mc.method4(null, 10, 10.5);
//System.out.println(sum);
System.out.println(mc.method4(null, 10, 10.5));
}
void method1() {
//String str = "반환X, 입력X 메소드";
System.out.println("반환X, 입력X 메소드");
}
String method2() {
String str = "반환0, 입력X 메소드";
return str;
}
void method3(String str) {
System.out.println(str);
}
int method4(String str, int i, double d) {
int sum = i + (int)d;
return sum; //
}
}
package constructor;
public class MainClass {
public static void main(String[] args) {
/*
생성자
- 객체화 진행시 호출됨 (new Car() 명령어 통해 호출)
- 딱 1번만 호출됨
- 기본생성자 존재( Car(){} 숨겨져 있음 )
- 생성자르 하나라도 선언하면 기본생성자가 없어짐
- 초기화 진행시 사용이 많이 됨
*/
// Car vCar1 = new Car(); //객체화
// Car vCar2 = new Car("생성자의 매개변수"); //객체화
// Car vCar3 = new Car("현대","소나타",4); // Car(brand, model, door)
Car vCar4 = new Car("현대","아반떼",4);
Car vCar5 = new Car("현대","제네시스",2);
Car vCar6 = new Car("기아","K8",4);
// System.out.println("| 브랜드 : "+ vCar3.brand + " | 모델 : " + vCar3.model + " | 문개수 : " + vCar3.door + " |" );
// \t 이쁘게 정렬
System.out.println("| 브랜드 : "+ vCar4.brand + " | 모델 : " + vCar4.model + " | 문개수 : " + vCar4.door + " |" );
System.out.println("| 브랜드 : "+ vCar5.brand + " | 모델 : " + vCar5.model + " | 문개수 : " + vCar5.door + " |" );
System.out.println("| 브랜드 : "+ vCar6.brand + " | 모델 : " + vCar6.model + " | 문개수 : " + vCar6.door + " |" );
//현대, 아반떼, 4
//현대, 제네시스, 2
//기아, k8, 4
// System.out.println(vCar3.brand);
// System.out.println(vCar3.model);
// System.out.println(vCar3.door);
//vCar1.method();
//vCar2.method();
}
}
package constructor;
public class Car {
String brand;
String model;
int door;
// Car(){} //기본생성자
// Car(){}
//Car(){
// System.out.println("생성자 호출");
//}
Car(){} //기본생성자를 적어줌으로서 기본생성자 객체화 진행가능
Car(String str){
System.out.println("생성자 호출");
System.out.println(str); //"생성자의 매개변수"
}
Car(String b, String m, int d){
brand = b;
model = m;
door = d;
}
public class Car {
String brand;
String model;
String gear;
int door;
Car(){
this("기아","K5","오토",4);
} //기본생성자
Car(String a, String b, String c, int d){ //초기화 생성자
brand = a;
model = b;
gear = c;
door = d;
}
}
package method;
public class Overlodding {
public static void main(String[] args) {
Overlodding ol = new Overlodding();
System.out.println(ol.add(11, 20.5));
}
//덧셈 (정수 리턴)
int add(int num1, int num2) {
// int sum = num1 + num2;
return num1 + num2;
}
double add(double num1, double num2) { //add에 대한 오버로딩
return num1 + num2;
}
int sub(int num1, int num2) {
return num1 - num2;
}
double add(int num1, double num2) {
return num1 + num2;
}
double add(double num1, int num2) {
return num1 + num2;
}
}