[TIL_JAVA] 클래스 제작과 객체 생성

17207 단어 JavaJava

클래스 제작

클래스는 맴버 변수(속성), 메서드(기능), 생성자 등으로 구성

package basicGrammar;

//클래스 이름 : Smartphone
public class Smartphone {
	
    //맴버 변수(속성)
	public String color;
	public String storage;
	public int price;
	
    // 생성자
	public Smartphone() {
		System.out.println("Smartphone constructor");
	}
	
    //매서드
	public void power() {
		System.out.println("--power on--");
	}
	
	
}

클래스

  • 클래스의 이름은 일반적으로 첫글자는 대문자
    ex) Smartphone
  • 클래스 안에 멤버 변수, 메서드, 생성자 등이 있음

맴버 변수

  • 일반적으로 맴버 변수를 생성
    ex) color, storage, price

생성자

  • 생성자는 클래스와 이름이 동일하고 반환형이 없음
  • 외부에서 해당 클래스를 통해 객체를 만들 때 가장 먼저 호출
  • 생성을 할 때 필요한 내용을 기술
    - 만약 생성시 필요한 내용이 없다면 빈값도 가능

메서드

  • 메서드에서 void는 반환되는 자료형
    - power()라는 기능을 수행 후 반환 값이 없음을 의미
  • 만약에 반환 값이 있다면
	public Strinf power() {
		System.out.println("--power off--");
        	return "Hello";
	}

객체 생성

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

여러 객체를 생성해 보자!

  • 클래스 Smartphone
package basicGrammar;

public class Smartphone {
	
	public String color;
	public String storage;
	public int price;
	
	public Smartphone() {
		System.out.println("Smartphone constructor");
	}
	
	public void power() {
		System.out.println("--power on--");
	}
	
	public void off() {
		System.out.println("--power off--");
	}
	
	public void info() {
		System.out.println("--info()--");
		System.out.println("color : " + color);
		System.out.println("storage : " + storage);
		System.out.println("price : " + price);
	}
}
  • MainClass
    package basicGrammar;

public class MainClass {

public static void main(String[] args) {
	
	Smartphone myPhone1 = new Smartphone();
	// 속성
	myPhone1.color = "black";
	myPhone1.storage = "128GB";
	myPhone1.price = 100;
	// 기능
	myPhone1.power();
	myPhone1.off();
	myPhone1.info();
	
	
	Smartphone myPhone2 = new Smartphone();
	// 속성
	myPhone2.color = "gray";
	myPhone2.storage = "258GB";
	myPhone2.price = 120;
	// 기능
	myPhone2.power();
	myPhone2.off();
	myPhone2.info();
}

}

```java
출력
Smartphone constructor
--power on--
--power off--
--info()--
color : black
storage : 128GB
price : 100
Smartphone constructor
--power on--
--power off--
--info()--
color : gray
storage : 258GB
price : 120

여러 생성자를 생성해 보자!

  • 클래스 Television
package basicGrammar;

public class Television {
	
	public String color;
	public int price;
	
	//생성자
	public Television() {
		System.out.println(" Television constructor --1 ");
	}
	
	// 생성과 동시에 객체의 속성을 정할 수 있음
	public Television(String c, int p) {
		System.out.println(" Television constructor --2");
		this.color = c;
		this.price = p;
	}
	
	public void info() {
		System.out.println(" -- info() -- ");
		System.out.println("color : " + color);
		System.out.println("price : " + price);
	}
}
  • MainClass
package basicGrammar;

public class MainClass {
	
	public static void main(String[] args) {
		
		Television myTelevision1 = new Television();
		//속성
		myTelevision1.color = "white";
		myTelevision1.price = 200;
		//기능
		myTelevision1.info();
		
		
		Television myTelevision2 = new Television("red", 250);
		//기능
		myTelevision2.info();
        
		// 재초기화
		myTelevision2.color = "ivory";
		myTelevision2.info();
	}
}
출력
 Television constructor --1 
 -- info() -- 
color : white
price : 200
 Television constructor --2
 -- info() -- 
color : red
price : 250
 -- info() -- 
color : ivory
price : 250

좋은 웹페이지 즐겨찾기