15일차

고규빈·2022년 1월 5일
0

1. 전역변수

1. 선언방법

	     
         -class 아래에 작성
	      예) class Car
	             String brand = "현대"; //전역 
  1. 사용방법
	     1) 같은 클래스 내에서 사용
	        - 지역변수와 동일하게 사용
	        예) class Car{
	             String brand = "현대"; //전역
	             void method(){
	                brand = "기아"; //전역
	               String local = "지역" // 지역
	             }

}

2) 다른 클래스에서 사용

	        - 객체화 진행후 사용
	         예) class Main{
	                main(){
	                    Car vCar = new Car();  //객체화
	                    vCar.brand = "기아";  //전역변수사용
	                }
	         }

2. 메소드

package method;

public class MainClass {

public static void main(String[] args) {
MainClass mc = new MainClass(); //객체화

//반환X, 입력X

mc.method1();

//반환 O, 입력 X

//String mcStr = mc.method2(); //str -> "반환O, 입력X 메소드"
//System.out.println(mcStr);
System.out.println(mc.method2());

//반환X, 입력O

mc.method3("반환X, 입력O 메소드");

//반환O, 입력O

//int sum = mc.method4(null, 10, 10.5);
//System.out.println(sum);
System.out.println(mc.method4(null, 10, 10.5));

}

//반환 X, 입력 X

void method1() {
//String str = "반환X, 입력X 메소드";
System.out.println("반환X, 입력X 메소드");

}

//반환 O, 입력 X

String method2() {
String str = "반환0, 입력X 메소드";
return str;

}

//반환 X, 입력 O(개수, 타입 제한없음)

void method3(String str) {
System.out.println(str);

}

//반환 O(개수1, 타입 제한없음), 입력 O(개수, 타입 제한없음)

int method4(String str, int i, double d) {

int sum = i + (int)d;

return sum; //

}

}

3. 생성자

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;
}

}

4. 메소드 오버로딩

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;
}	

}

profile
안녕하세요

0개의 댓글