본문 바로가기
🖥️/Java

[Java] 회원 정보를 받는 기본 코드

by HanaV 2023. 3. 20.
728x90

회원정보를 받는 기본 코드를 짜보자
 

1. getter, setter method를 이용하기

전체코드

class Member {
	private String userid;
	private String username;
	private int age;
	
	
	//getter method
	public String getUserid() { //getter1
		return this.userid;
	}
	
	public String getUsername() { //getter2
		return this.username;
	}
	
	public int getAge() { //getter3
		return this.age;
	}
	
	//setter method
	public void setUserid(String userid) { //setter1
		this.userid = userid;
	}
	
	public void setUsername(String username) { //setter2
		this.username = username;
	}
	
	public void setAge(int age) { //setter3
		this.age = age;
	}

}


public class MemberManagement {
	
	public static void main(String[] args) {
		
		Member member = new Member(); //객체
		
		member.setUserid("havavtistory"); //실행1
		member.setUsername("hanav"); //실행2
		member.setAge(24); //실행3
		
        System.out.println("user ID = " + member.getUserid()); //출력1
        System.out.println("user Name = " + member.getUsername()); //출력2
        System.out.println("user Age = " + member.getAge()); //출력3
	}

}

실행 순서
1. 실행1: setUserid method에 변수 hanavtistory를 입력하라
2. setter1 : userid에 hanavtistory가 입력됨
3. 실행2: setUsername method에 변수 hanav를 입력하라
4. setter2: username에 hanav가 입력됨
5. 실행3: setAge method에 정수 24를 입력하라
6. setter3: age에 24가 입력됨
 
7. 출력1: member.getUserid()  >>  getUserid method에 입력된 정보 hanavtistory 입력
8. 출력2: member.getUsername()  >>  getUsername method에 입력된 정보 hanav 입력
9. 출력3: member.getAge()  >>  getAge 함method에 입력된 정보 24 입력
 
console

user ID = havavtistory
user Name = hanav
user Age = 24

 
 

2. 생성자 사용하기

전체코드

class Member2 {
	    private String userid;
	    private String username;
	    private int age;

	    public Member2(){} //기본생성자
	    public Member2(String userid, String username, int age) { //생성자
	        this.userid = userid;
	        this.username = username;
	        this.age = age;
	    }
	    
		//getter method
		public String getUserid() { //getter1
			return this.userid;
		}
		
		public String getUsername() { //getter2
			return this.username;
		}
		
		public int getAge() { //getter3
			return this.age;
		}
	}


public class MemberManagement2 {
	public static void main(String[] args) {
		
		Member2 member = new Member2("hanavtistory", "hanav", 24); //객체
		
        System.out.println("user ID = " + member.getUserid()); //출력1
        System.out.println("user Name = " + member.getUsername()); //출력2
        System.out.println("user Age = " + member.getAge()); //출력3
	}
}

실행 순서
1.객체: 변수 3개에 대한 정보가 입력됨 >> 변수가 3개인 생성자로 이동
2. 생성자: 각각의 변수에 정보가 입력됨 (userid - hanavtistory, username - hanav, age - 24)
3. 출력1: member.getUserid() >> getUserid method에 입력된 정보 hanavtistory 입력
4. 출력2: member.getUsername()  >>  getUsername method에 입력된 정보 hanav 입력
5. 출력3: member.getAge()  >>  getAge 함method에 입력된 정보 24 입력
 
console

user ID = hanavtistory
user Name = hanav
user Age = 24

 
 

3. list 사용하기

전체 코드

import java.util.ArrayList;
import java.util.List;

class Member3 {
    private String userid;
    private String username;
    private int age;

    public Member3(){} //기본생성자
    public Member3(String userid, String username, int age) { //생성자
        this.userid = userid;
        this.username = username;
        this.age = age;
    }
    
	//getter method
	public String getUserid() { //getter1
		return this.userid;
	}
	
	public String getUsername() { //getter2
		return this.username;
	}
	
	public int getAge() { //getter3
		return this.age;
	}
}

public class MemberManagement3 {

    public static void main(String[] args) {

        List<Member3> list = new ArrayList<>(); //list
        list.add(new Member3("myname", "hanav", 24)); //정보1
        list.add(new Member3("myname2", "hanav2", 24)); //정보2
        list.add(new Member3("myname3", "hanav3", 24)); //정보3
        list.add(new Member3("mydog", "bori", 8)); //정보4

        for(Member3 member: list) { //for문
            System.out.println("user ID = " + member.getUserid()); //츨력1
            System.out.println("user Name = " + member.getUsername()); //출력2
            System.out.println("user Age = " + member.getAge() + "\n"); //출력3
        }

        
    }
}

실행 순서
1.  list: 리턴 타입이 Member3 객체인 리스트 생성
2. 정보1: list에 정보 입력
3. 정보2: list에 정보 입력
4. 정보3: list에 정보 입력
5. 정보4: list에 정보 입력
 
6. for문: for(Member3 member: list) 는 배열이름이 list인 배열을 순차적으로 나타내고, book은 Book에 있는 클래스를 가져옴
7. 출력1: member.getUserid() >> getUserid method에 입력된 첫번째 정보 hanavtistory 입력
8. 출력2: member.getUsername()  >>  getUsername method에 입력된 첫번째 정보 hanav 입력
9. 출력3: member.getAge()  >>  getAge 함method에 입력된 정보 24 입력
10. 첫번째 배열이 끝나면 두 번째 정보 입력, 두 번째 배영ㄹ이 끝나면 세번째 정보 입력 ...
 
console

user ID = myname
user Name = hanav
user Age = 24

user ID = myname2
user Name = hanav2
user Age = 24

user ID = myname3
user Name = hanav
user Age = 24

user ID = mydog
user Name = bori
user Age = 8

 
 
4. Builder 패턴 사용하기: 내부 클래스를 만들어서 사용
전체 코드

import java.util.ArrayList;
import java.util.List;

class Member {
    private String userid;
    private String username;
    private int age;

    public Member(){}//기본생성자
    public Member(String userid, String username, int age) {
        this.userid = userid;
        this.username = username;
        this.age = age;
    }

    //getter method
    public String getUserid() {
        return this.userid;
    }

    public String getUsername() {
        return this.username;
    }

    public int getAge() {
        return this.age;
    }

    // Builder 패턴 사용
    static class Builder { //내부 클래스
        private String userid;
        private String username;
        private int age;

        public Builder userid(String userid) { //method 생성
            this.userid = userid;
            return this;
        }

        public Builder username(String username) {
            this.username = username;
            return this;
        }

        public Builder age(int age) {
            this.age = age;
            return this;
        }

        public Member build() { //method
            if(userid == null || username == null || age == 0)
                throw new IllegalStateException("Cannot create Member"); //예외처리
            return new Member(userid, username, age); //생성자를 리턴해줌
        }
    }
}

public class MemberManagement {

    public static void main(String[] args) {  

        List<Member> list = new ArrayList<>();

        //Builder 패턴
        list.add(new Member.Builder()
            .userid("hanavtistory")
            .username("hanav")
            .age(24)
            .build()
        );
        list.add(new Member.Builder()
        	.userid("mydog")
        	.username("bori")
        	.age(8)
        	.build()
    	);

        for(Member member: list) {
            System.out.println("user ID = " + member.getUserid());
            System.out.println("user Name = " + member.getUsername());
            System.out.println("user Age = " + member.getAge() + "\n");
        }
    }
}

console

user ID = hanavtistory
user Name = hanav
user Age = 24

user ID = mydog
user Name = bori
user Age = 8

 
 
5. Stream을 이용해서 username을 오름차순으로 출력하기

import java.util.ArrayList;
import java.util.List;

public class MemberManagement {

    public static void main(String[] args) {
 
        List<Member> list = new ArrayList<>();
  
        //Builder 패턴
        list.add(new Member.Builder()
            .userid("hanavtistory")
            .username("hanav")
            .age(24)
            .build()
        );
        list.add(new Member.Builder()
            .userid("mydog")
            .username("bori")
            .age(8)
            .build()
        );


        for(Member member: list) {
            System.out.println("user ID = " + member.getUserid());
            System.out.println("user Name = " + member.getUsername());
            System.out.println("user Age = " + member.getAge() + "\n");
        }

        list.stream()
            .map(n -> n.getUsername())
            .sorted()
            .forEach(s -> System.out.println(s));
        
    }
    
}

 

728x90

"); wcs_do();