728x90

class
혼자 해보고, 안 되면 앞서 배운 것들을 보면서 따라해보기

 

1. Day01_3

// 필드 (인스턴스변수, 멤버변수)
String name;
private String color;	// 현재 공간에서만 사용 가능
// 생성자
public Day01_3() {
	// 기본 생성자
	// 생성하지 않아도 자동 컴파일됨
}
public Day01_3(String name /*매개변수*/) {
	this.name = name;
    // 필드명과 매개변수명이 같을때 this. 사용 / 필드명 = 매개변수명
}
public Day01_3(String name,String color) {
	this.name = name;
	this.color = color;
}
// 메서드
public void setColor(String color) {
	this.color = color;
    // 현재 공간에서만 사용할 수 있는 private 필드에 값을 설정하기 위한 메서드
}
public String getColor() {
	return color;
    // 현재 공간에서만 사용할 수 있는 private 필드 값을 사용하기 위한 메서드
}

public void print() {
	System.out.printf("%s\t%s\n",name,color);
	// 미리 출력할 양식을 적어둔 메서드
}

 

2. Day01_3Main

Scanner sc = new Scanner(System.in);
	
Day01_3 first = new Day01_3("사과","빨강");
Day01_3[] nC = new Day01_3[10];
int cnt = 0;
while(true) {
	System.out.println("1.추가 2.목록 0.종료");
	System.out.print("메뉴 선택> ");
	int menu = sc.nextInt();
	System.out.println();
	if(menu == 1) {
		System.out.println("===추가=> ");
		Day01_3 s = new Day01_3();
		System.out.print("이름 설정> ");
		s.name = sc.next();
		System.out.print("색 설정> ");
		s.setColor(sc.next());
		nC[cnt] = s;
		cnt++;
	}else if(menu == 2){
		System.out.println("===목록=> ");
		for(int i=0; i<cnt; i++) {
			if(i == 0) {
				first.print();
			}
			nC[i].print();
		}
		
	}else if(menu == 0) {
		break;
	}else {
		System.out.println(" > 잘못된 메뉴 선택");
	}
	System.out.println();
}
System.out.println("종료");

 

출력 이미지 ㄱ

 


 

틀리거나 헷갈렸던 점 메모

  • 1번

 생성자를 만들때, void(리턴타입)를 적어서 메서드로 만들고는 2번에서 객체를 생성하려니 안 된다고 해서 이클립스의 도움을 받아 해결했다.

 생성자는 리턴타입이 없음!!

 

  • 2번

 객체를 생성하는 것부터 저장하는 것까지 기억나지 않아서 열심히 혼자 해보려고 했는데, nC[cnt].name 혹은 nC[cnt].setColor();까지는 접근했다. 물론 이 방법으로 했더니 오류가 나서 결국 배운 것을 보고 고쳤지만 근접했다고 생각한다..!

 객체 생성하는 법, 객체 배열에 저장하는 법 외우기!


 

전체 피드백

  • 생각보다 기억을 못하고 있어서 2번은 거의 보고 하듯이 한 것 같다. 여러번 보고 적어보면서 안 보고도 응용할 수 있도록 해야겠다.

 


728x90