각각의 class 만들때
1. class 안에 변수 정의
2. class 정의 (parameter) {변수 정의 또는 method}
3. method
3. class 출력
각각의 클래스를 모아놓은 다른 클래스 생성해도 됨
Main class 에서
1. 각각의 class 정의
2. class에서 필요한 배열이 있다면 먼저 생성
3. class class 이름 = new class (변수 값 입력);
4. 큰 class. 큰 class 안의 이름 = class 이름;
출력 시 큰 class 만 출력해도 됨.
Wrapper Class -> refernce type (4byte)
타입이름이 다른 것 뿐 비슷하다.
Null 표시 가능, 추가적 기능을 제공함
class 타입이기때문에 method 가 제공됨.
primitive 타입은 null 불가
collection frame work 에서도 타입 결정, primitive 타입 제공안함. -> wrapper class 필요
Code
import java.util.LinkedList;
import java.util.List;
public class CollectionEx {
public static void main(String[] args) {
Integer [] arr = {10, 20, 30} ; // 배열 데이터 길이 정해져 있음. 추가 불가.
List < Integer > /*리스트에 넣을 데이터 타입*/ list = new LinkedList<Integer>();
list.add(10);
list.add(20);
list.add(30);
for (int i=0; i<list.size(); i++) {
System.out.println(list.get(i)); // 배열 첨자 대신 get 사용
}
System.out.println("----------------------------------------------------");
list.add(40); // add를 통해 계속해서 추가가능
for (int i=0; i<list.size(); i++) {
System.out.println(list.get(i)); // 배열 첨자 대신 get 사용
}
System.out.println("----------------------------------------------------");
// 30번째 데이터 삭제 - 범위 넘어섬 error발생
list.remove(2);
for (int i=0; i<list.size(); i++) {
System.out.println(list.get(i));
}
Integer target = 30;
// 현재 list에 Integer 값 30이 있는가?
System.out.println(list.contains(target));
List<Integer> list2 = new LinkedList<Integer>();
list2.add(10);
list2.add(40);
list.removeAll(list2); // list 차집합 list2
System.out.println(list);
}
}
public class MemberInfo {
String id;
private String pwd;
private String name;
public MemberInfo(){}
public MemberInfo (String id, String pwd, String name) {
setId(id);setPwd(pwd);setName(name);
}
void setId (String id) {
if (id.length() < 6) {
System.out.println("아이디는 6자 이상");
}
else this.id = id;
}
void setPwd (String pwd) {
if (id.length() < 6) {
System.out.println("비밀번호는 6자 이상");
}
else this.pwd = pwd;
}
void setName(String name) {
if(name.length() ==0 ) {
System.out.println("이름을 올바르게 입력하세요.");
}
else this.name = name;
}
Boolean pwdCheck (String pwd) {
return this.pwd.equals(pwd);
}
public String toString (){
return "아이디 : " + id + " / 이름 :" + name;
}
}
import java.util.LinkedList;
import java.util.List;
import java.util.Scanner;
public class MemberMain {
public static void main(String[] args) {
Scanner s = new Scanner(System.in);
List<MemberInfo> memberList = new LinkedList<MemberInfo>();
while (true) {
System.out.print("1. 회원추가, 2. 회원삭제, 3. 회원수정, 4. 회원목록, 0.종료 : ");
int sel = s.nextInt();
s.nextLine();
if (sel == 0) {
System.out.println("종료합니다.");
break;
}
else if (sel == 1) {
System.out.println("======== 회원추가 ========");
System.out.print("아이디 : ");
String id = s.nextLine();
System.out.print("비밀번호 : ");
String pwd = s.nextLine();
System.out.print("이름 : ");
String name = s.nextLine();
MemberInfo m = new MemberInfo(id, pwd, name);
memberList.add(m);
System.out.println("회원가입 되었습니다.");
}
else if (sel == 2) {
for(int i=0; i<memberList.size(); i++) {
System.out.println(i + ". " + memberList.get(i));
}
System.out.print("삭제할 회원의 번호 : ");
int idx = s.nextInt();
s.nextLine();
memberList.remove(idx);
System.out.println("삭제했습니다.");
}
else if (sel == 3) {
for(int i=0; i<memberList.size(); i++) {
System.out.println(i + ". " + memberList.get(i));
}
System.out.print("수정할 회원의 번호 : ");
int idx = s.nextInt();
s.nextLine();
MemberInfo m = memberList.get(idx);
System.out.print("비밀번호 : ");
String pwd = s.nextLine();
if (m.pwdCheck(pwd)) {
System.out.println(m);
System.out.print("변경 할 아이디 : ");
String id = s.nextLine();
m.setId(id); // 기존 데이터를 유지 시키면서 값만 변경
System.out.print("변경 할 비밀번호 : ");
pwd = s.nextLine();
m.setPwd(pwd); // 기존 데이터를 유지 시키면서 값만 변경
System.out.print("변경 할 이름 : ");
String name = s.nextLine();
m.setName(name); // 기존 데이터를 유지 시키면서 값만 변경
}
else {
System.out.println("비밀번호가 일치하지 않습니다.");
}
}
else if (sel == 4) {
for(int i=0; i<memberList.size(); i++) {
System.out.println(i + ". " + memberList.get(i));
}
}
}
s.close();
}
}
import java.util.LinkedList;
import java.util.List;
public class MemberTestMain {
public static void main(String[] args) {
List<MemberInfo> mList = new LinkedList<MemberInfo>();
for (int i=0; i <10; i++) {
mList.add(new MemberInfo("user0" +i, "123456", "사용자" + i));
}
System.out.println(mList);
System.out.println(mList.get(5));
MemberInfo m = mList.get(5);
System.out.println(m);
mList.get(5).setId("aaaaaaaaaa"); // 아래와 동일한 의미
m.setId("aaaaaaaa");
System.out.println(m);
System.out.println(mList.get(5));
}
}