[JAVA] 자바 배열 복사 (깊은 복사)
·
JAVA
● 깊은 복사 배열의 요소는 동일하지만, 다른 메모리에 복사한다. 둘은 참조값이 다르다 - 직접 구현 int [] a ={1,2,3,4,5}; // 원본 배열 int [] b = new int [a.length]; // 깊은 복사를 할 때에는 원본 배열의 길이만큼만 복사배열이 존재 할 수 있다. int i; for (i=0;i
[JAVA] 자바 배열 복사 (얕은 복사)
·
JAVA
배열 복사 프로그래밍을 하다 보면 배열을 복사 해야 할 경우가 생기는 데 그 복사를 어떻게 하는 가. ● 얕은 복사 참조값만 복사. 요소 값(배열 방에 있는 값)을 변경 했을 때 다른 쪽에도 영향을 준다. 쉽게 말하면, 몸 하나에 이름이 두개인 경우라고 볼 수 있다. int [ ] a = {1,2,3,4,5}; // a 라는 int 타입의 참조 변수가 메인 스택에 만들어 지고 힙에 배열 5개 만들어짐 int [ ] b = a; // 미리 선언 된 배열 a 는 힙 영역에 저장 되어 주소값만 있다. 그래서 b 에는 a 의 주소값만 전달 되고, 요소값({1,2,3,4,5}) 은 전달하지 않는다. 힙에 있는 배열({1,2,3,4,5}) 은 하나인데 이름만 a,b로 두개 int a[] = { 1, 2, 3, 4,..
[JAVA] 자바 2차원 배열
·
JAVA
2차원 배열 배열 안의 배열 int[ ][ ] a = new int [2][3]; // int 타입으로 선언 된 a 배열은 방이 두개, 각 방이 3개인 요소를 갖는다 => 쉽게 설명 해 2행 3열 하지만 주의 해야 할 것은 쉽게 설명 하기 위해 2행 3열 이라는 정해진 모양을 팁으로 알려준 것이지 이게 무조건 그렇다는 것은 아님 왜냐하면, 메모리 영역이 다르기 때문이다. ● 메모리 영역 1) static : 정적 메모리 2) heap : 배열,객체가 사용 (ex, new 연산자에 의해 생성되는 객체들) - 주소로만 접근 한다 3) stack : 메서드가 사용, (ex, 지역변수들 ; main 에서 생성된 ) - 변수들로 찾을 수 있음 예시를 들어 설명하자면, int [ ] c = new int[3] : ..
[JAVA] 자바 배열
·
JAVA
배열 연관된 정보를 그룹핑 하는데 사용한다. 변수가 하나의 데이터를 저장하기 위한 것이라면 배열은 여러 개의 데이터를 저장하기 위한 것이며 집합 데이터 처리를 수월하게 해준다. 단, 타입은 한가지 값만 담을 수 있다. ex) int a [ ] 이라면 int 타입만 가능하다. 배열의 크기는 고정적이며, 각 방은 자동으로 초기화 된다. 1) 배열의 선언 int [ ] a; / char [ ] a; / float [ ] a; / 2) 배열 생성 int [ ] a = new int[5]; b = new char[3]; 0으로 초기화 되어 있는 배열에 값을 넣을 때는 하기와 같이한다. a[0]=1 // 0 번째 배열에 1 을 삽입 a[1]=3 // 1 번쨰 배열에 3을 삽입 배열명.length : 배열의 길이 값..
해니01_15
'JAVA' 카테고리의 글 목록 (23 Page)