Notice
Recent Posts
Recent Comments
Link
Everything has an expiration date
162 - Java 컬렉션(Collection) : MyData 클래스 타입의 벡터를 생성하여 벡터에 MyData 요소를 저장하고, getter setter를 통해 출력하는 프로그램 (메모장 작성 연습...) 본문
[Java]/review
162 - Java 컬렉션(Collection) : MyData 클래스 타입의 벡터를 생성하여 벡터에 MyData 요소를 저장하고, getter setter를 통해 출력하는 프로그램 (메모장 작성 연습...)
Jelly-fish 2023. 9. 21. 21:48
package Review162;
/* ====================================
■■■ 컬렉션 (Collection) ■■■
======================================*/
import java.util.Vector;
// 클래스 → 사용자 정의 자료형으로 활용
class MyData
{
// 주요 속성 구성 → 주요 변수 선언(멤버 변수)
private String name; //-- 이름
private int age; //-- 나이
public String getName()
{
return name;
}
public void setName(String name)
{
this.name = name;
}
public int getAge()
{
return age;
}
public void setAge(int age)
{
this.age = age;
}
public MyData(String name, int age)
{
this.name = name;
this.age = age;
}
public MyData()
{
//this("", 0);
name = "";
age = 0;
}
/*
@Override
public String toString()
{
return name + " " + age;
}
*/
}
public class Review162
{
public static void main(String[] args)
{
// 아미 10세, 캔다 4세, 이싸 3세 벡터에 담기.
Vector<MyData> vt = new Vector<MyData>();
MyData md = new MyData(); //-- 클래스 인스턴스 생성
// MyData의 인스턴스 메소드, 인스턴스 변수
//
/*
// Ⅰ. [각각의 MyData 클래스 타입 객체를 생성하여 벡터 vt에 저장하는 방식.]*********
// 『아미, 10세』
MyData mydata1 = new MyData(); //-- ① MyData 타입 객체1 생성
mydata1.setName("아미"); //-- ② setName을 통해 객체1의 name 지정
mydata1.setAge(10); //-- ③ setAge를 통해 객체1의 age 지정
vt.add(mydata1); //-- ④ 설정을 마쳤다면, vt(벡터)에 요소저장.
// 『캔다, 4세』
MyData mydata2 = new MyData();
mydata2. setName("캔다");
mydata2.setAge(4);
vt.add(mydata2);
// 『이싸, 3세』
MyData mydata3 = new MyData();
mydata3.setName("이싸");
mydata3.setAge(3);
vt.add(mydata3);
// Ⅰ. 실행 결과
for(Object obj : vt)
{
System.out.printf("이름 : %s, 나이 : %d\n",
((MyData)obj).getName(),((MyData)obj).getAge());
}
System.out.println();
//************************************************************************************
// Ⅱ. [생성자와, MyData타입 참조변수를 이용하는 방식]*******************************
MyData mydata1 = new MyData("아미", 10);
vt.add(mydata1);
MyData mydata2 = new MyData("캔다", 4);
vt.add(mydata2);
MyData mydata3 = new MyData("이싸", 3);
vt.add(mydata3);
// Ⅱ. 실행 결과
for(Object obj : vt)
{
System.out.printf("이름 : %s, 나이 : %d\n",
((MyData)obj).getName(),((MyData)obj).getAge());
}
System.out.println();
//************************************************************************************
*/
// public MyData(String name, int age)
// {
// this.name = name;
// this.age = age;
// }
// Ⅲ. [생성자만을 이용하는 방식 - 혜성님 방식...]************************************
// add를 써야 하는데 왜 get을 썼니...
// 정신이 있니 없니...
//vt.get(new MyData("아미", 10));
//vt.get(new MyData("캔다", 4));
//vt.get(new MyData("이싸", 3));
vt.add(new MyData("아미", 10));
vt.add(new MyData("캔다", 4));
vt.add(new MyData("이싸", 3));
// Ⅱ. 실행 결과
for(Object obj : vt)
{
System.out.printf("이름 : %s, 나이 : %d\n",
((MyData)obj).getName(),((MyData)obj).getAge());
}
System.out.println();
//************************************************************************************
}
}