JAVA

자바 - 배열/객체 배열

커피마시기 2023. 9. 20. 22:36

 
 

배열

동일한 타입의 값들을 하나의 묶음으로 저장한 자료 구조이며 이렇게 묶인 데이터들의 집합을 배열이라고 한다.
배열의 인덱스 번호는 0부터 시작한다.
 
● 배열의 초기화

int[] num = new int[]; // new int[] -> int(4byte)타입의 데이터 []개를 저장할 수 있는 메모리 공간 확보
int[] num = new int[] {11, 33, 55, 77, 99, 111};
int[] num = {12, 24, 30};

 
 
● 배열을 for문과 향상된 for문을 활용

// for문을 이용한 방법
		int sum = 0;
		for(int i = 0; i < num.length; i++) {
			System.out.println("배열의[" + i + "번] : " + num[i]);
			sum += num[i];
		}
		System.out.println("총합 : " + sum);

 

// 향상된 for -> 배열의 값을 읽어오는것만 가능하며 향상된 for문으로는 배열의 값을 수정할 수 없다.
		int sum2 = 0;
		for(int score : num) {
			sum2 += score;
		}
		System.out.println("총합 : " + sum2);
	}

 
 


 

객체배열

 
  생성자 활용

public class Note {
	//필드 생성
	private String userid;
	private String passwd;
	private int age;
	
	
	// 생성자 ->  생성자가 아예 없는 경우에는 default 생성자가 존재함
    	public Note() {}
    	// 단, 생성자가 하나라도 있으면 사용할 경우에는 만들어주어야한다
	public Note(String userid, String passwd, int age) {
		this.userid = userid;
		this.passwd = passwd;
		this.age = age;
	}

	// 메소드
	@Override
	public String toString() {
		return "Note [userid=" + userid + ", passwd=" + passwd + ", age=" + age + "]";
	}
	
	
}

 

public static void main(String[] args) {
		Note[] note = new Note[2]; // 객체 배열 선언 및 생성
		
		for(int i = 0; i < note.length; i++) {
			note[i] = new Note("", "", i); // note 생성자 초기화
			note[0] = new Note("1q2w", "1234", 20); // 생성자 매개변수에 값 입력
			note[1] = new Note("1q2w3e", "5678", 30);
			System.out.println(note[i].toString());
		}
		
	}

 

출력

 
 
 
● getter setter 활용

public class Note {
	//필드 생성
	private String userid;
	private String passwd;
	private int age;
	private int num;
	
	// getter setter
	public String getUserid() {
		return userid;
	}
	
	public void setUserid(String userid) {
		this.userid = userid;
	}
	
	public String getPasswd() {
		return passwd;
	}
	
	public void setPasswd(String passwd) {
		this.passwd = passwd;
	}
	
	public int getAge() {
		return age;
	}
	
	public void setAge(int age) {
		this.age = age;
	}
	
	public int getNum() {
		return num;
	}
	public void setNum(int num) {
		this.num = num;
	}
	// 메소드 
	public void disp() {
		System.out.println(num + "번 회원님 " + "아이디 : " + userid + " 비밀번호 : " + passwd + "  나이 : " + age);
	}
}

 

public static void main(String[] args) {
		Note[] note = new Note[2]; // 객체 배열 선언 및 생성
		
		for(int i = 0; i < note.length; i++) {
			note[i] = new Note(); 
			
		}
		
		note[0].setNum(1);
		note[0].setUserid("ididid");
		note[0].setPasswd("123123");
		note[0].setAge(28);
		
		note[1].setNum(2);
		note[1].setUserid("dididi");
		note[1].setPasswd("567567");
		note[1].setAge(25);
		
		note[0].disp();
		note[1].disp();
		
		
	}
출력

 
 
 


Today short review
 
 
 
 
배운것을 토대로 새로 만들어 보았는데 틀린점이나 잘못 알고 있는 부분이 있다면 알려주시면 감사하겠습니다

'JAVA' 카테고리의 다른 글

자바 Map  (0) 2023.09.27
자바 List  (0) 2023.09.23
자바 (클래스/객체/메소드)  (0) 2023.09.18
자바 반복문 - for & while  (0) 2023.03.30
자바 조건문 - if & switch  (0) 2023.03.29