본문 바로가기

교내 개발 공부/[학교 지원 Study] 자바 프로그래밍 입문

JAVA 객체 | 클래스 제작과 객체 생성 | 멤버 변수(속성), 메서드(기능), 생성자 | 자동차 클래스 생성 | 자전거 클래스 생성 | 메인 클래스 | 레퍼런스

인프런

자바 프로그래밍 입문 강좌 (renew ver.) - 초보부터 개발자 취업까지!!

색션 2. JAVA 객체

클래스 제작과 객체 생성

 

12-1 : 클래스 제작

클래스멤버 변수(속성), 메서드(기능), 생성자 등으로 구성된다.

package lec11Pjt001;

public class Grandeur //클래스 이름: 일반적으로 첫글자는 대문자로 한다.

	public String color;
    public String gear;   //멤버 변수(속성)
    public int price;
    
    public Grandeur() {   //생성자(클래스랑동일한이름)
   		System.out.println("Grandeur constructor");
    }
    
    public void run() {  //메서드(기능)  void는반환형.반환값이없다는것.반환값이있다면해당반환값으로String이면String
		System.out.println("--run--");
        	//return "Hello"; 반환값이있을경우String값반환
    }
    
    public void stop() {   //메서드(기능)
    	System.out.println("--stop--");
    }
    
 }

그렌저 클래스 생성

package pjtTest;

public class Grandeur {
	
	public String color;
	public String gear;
	public int price;
	
	public Grandeur() {  //Grandeur입력하고ctrl+space하면 constructor하면 자동 생성자 입력됨
		System.out.println("Grandeur constructor");
		
	}
	
	public void run() {
		System.out.println(" -- run() -- ");
	}
	
	public void stop() {
		System.out.println(" -- stop() -- ");
		
	}
	
	public void info() {
		System.out.println(" -- info() -- ");
		System.out.println("color : " + color);
		System.out.println("gear : " + gear);
		System.out.println("price : " + price);
	}

}

자전거 클래스 생성

package pjtTest;

public class Bicycle {
	
	public String color; //여기 위 두줄은 bicycle 밑은 기능
	public int price;
	
	public Bicycle() {
		System.out.println(" Bicycle constructor ");
	}
	
	public void info() {
		System.out.println(" -- info() -- ");
		System.out.println("color : " + color);
		System.out.println("price : " + price); //info만출력하면정보출력
	}

}

메인 클래스 생성은 조금 이따가

 

12-2 : 객체 생성

클래스로부터 'new' 이용해서 객체를 생성한다.

 

myCar1 -> Grandeur

주소           객체

레퍼런스

 

myCar2 -> Grandeur

주소            객체

레퍼런스

 

메인클래스 생성

package pjtTest;

public class Mainclass_ {
	
	public static void main(String[] args) {
		
		Grandeur myCar1 = new Grandeur(); //생성자constructor출력
		myCar1.color = "red"; //여기서부터세줄속성
		myCar1.gear = "auto";
		myCar1.price = 100;
		
		myCar1.run(); //여기서부터세줄기능
		myCar1.stop();
		myCar1.info();
		
	}

}

Grandeur constructor

-- run() --

-- stop() --

-- info() --

color : red

gear : auto

price : 100

 

package pjtTest;

public class Mainclass_ {
	
	public static void main(String[] args) {
		
		Grandeur myCar1 = new Grandeur(); //생성자constructor출력
		myCar1.color = "red"; //여기서부터세줄속성
		myCar1.gear = "auto";
		myCar1.price = 100;
		
		myCar1.run(); //여기서부터세줄기능
		myCar1.stop();
		myCar1.info();
		
		
		Grandeur myCar2 = new Grandeur(); 
		myCar2.color = "yellow"; 
		myCar2.gear = "auto";
		myCar2.price = 500;
		
		myCar2.run(); 
		myCar2.stop();
		myCar2.info();
		
	}

}

Grandeur constructor

-- run() --

-- stop() --

-- info() --

color : red

gear : auto

price : 100

Grandeur constructor

-- run() --

-- stop() --

-- info() --

color : yellow

gear : auto

price : 500

 

package pjtTest;

public class MainClass_Bicycle {
	
	public static void main(String[] args) {
		
		Bicycle myBicycle = new Bicycle();
		myBicycle.color = "red";
		myBicycle.price = 100;
		
		myBicycle.info();
		
	}

}

Bicycle constructor

-- info() --

color : red

price : 100

 

자전거 클래스 수정

package pjtTest;

public class Bicycle {
	
	public String color; 
	public int price;
	
	public Bicycle() {
		System.out.println(" Bicycle constructor - 1");
	}
	
	public Bicycle(String c, int p) {
		System.out.println("Bicycle constructor - 2");
		color = c;
		price = p;
	}
	
	public void info() {
		System.out.println(" -- info() -- ");
		System.out.println("color : " + color);
		System.out.println("price : " + price); 
	}

}

자전거 메인 클래스

package pjtTest;

public class MainClass_Bicycle {
	
	public static void main(String[] args) {
		
		Bicycle myBicycle = new Bicycle("red", 100);

		myBicycle.info();
		
	}

}

Bicycle constructor - 2

-- info() --

color : red

price : 100

자전거 클래스 생성할 때 이미 값을 다 줬기 때문에 별도로 밑에 안 적음

 

package pjtTest;

public class MainClass_Bicycle {
	
	public static void main(String[] args) {
		
		Bicycle myBicycle = new Bicycle("red", 100);

		myBicycle.info();
		
		myBicycle.color = "yellow";
		myBicycle.info();
		
	}

}

Bicycle constructor - 2

-- info() --

color : red

price : 100

-- info() --

color : yellow

price : 100

색상 노랑으로 바꿀 수도 있음 

생성자 여러 개 생산해서 바꿀 수 있음