본문 바로가기

Java37

[Java] 배열의 복사? Shallow Copy(얕은 복사)와 Deep Copy(깊은 복사) TIL: 스스로 이해한 것을 바탕으로 정리하였기에 오류가 있을 수 있습니다. 틀린 부분은 댓글로 알려주시면 감사하겠습니다. 배열의 복사 배열은 크게 얕은 복사와 깊은 복사, 두 가지 방법으로 복사를 할 수 있다. 얕은 복사: 배열의 주소를 복사 깊은 복사: 배열 공간의 값들을 다른 배열 공간에 하나씩 복사 얕은 복사 int [ ] copy = origin ; 1. int[ ] origin = { 1, 2, 3, 4 } ; 원본 배열을 먼저 할당 후, 2. int[ ] copy = origin ; origin에 있는 것을 그대로 copy에 복사시킨다. copy 각각의 인덱스를 출력해보면 origin의 값이 그대로 담긴다. 복사된 copy배열을 이용해서 n번 인덱스 값을 수정을 하면, 원본 배열의 인덱스까지.. 2020. 12. 31.
[Java] 배열(Array)? 배열 선언과 할당, 해쉬코드 TIL: 스스로 이해한 것을 바탕으로 정리하였기에 오류가 있을 수 있습니다. 틀린 부분은 댓글로 알려주시면 감사하겠습니다. 배열(Array) 같은 자료형의 변수 여러 개를 하나의 묶음으로 만들어 하나의 이름으로 다루는 것을 배열이라고 한다. 연관된 데이터를 모아서 관리하기 위해 사용하는 데이터 타입으로서, 변수는 자료형의 값 "하나"만을 담을 수 있는 값이라면, 배열은 같은 자료형의 변수 "여러 개"를 담아 그룹핑하는 값이라고 생각하면 쉽다. 변수는 각 방마다 인덱스가 지정된다. ex. int [ ] a = new int [5] ; ===> [0], [1], [2], [3], [4] 1. 배열 선언 (두 가지 방식으로 선언이 가능하다) 자료형 배열명 [ ] ; 자료형 [ ] 배열명 ; ex. int ar.. 2020. 12. 30.
[Java] 메모리 저장공간(stack과 heap)알아보기 TIL: 스스로 이해한 것을 바탕으로 정리하였기에 오류가 있을 수 있습니다. 틀린 부분은 댓글로 알려주시면 감사하겠습니다. 메모리 저장공간 Stack과 heap 이전에 변수에 대해서 다룰 때 변수는 메모리 안에 담긴 박스라고 설명을 했는데, 배열과 함께 깊이 메모리에 들어가자면, 메모리 안에는 크게 Stack, Heap, Static 공간이 나누어 진다. 저장하는 공간은 Stack과 Heap으로 나누어지는데, Stack은 기본자료형의 변수가 저장되는 공간, Heap은 참조자료형의 변수가 저장되는 공간이라고 보면 된다. 참조형 변수는 stack공간의 변수에 데이터를 직접 저장하지 않고, heap에 생성된 데이터 저장공간의 주소 값을 stack공간의 변수에 저장한다. 쉽게 말해, 저장된 주소 값을 참조하여 .. 2020. 12. 29.
[Java] 제어문2_반복문(for); for문과 예시, 그리고 별찍기** TIL: 스스로 이해한 것을 바탕으로 정리하였기에 오류가 있을 수 있습니다. 틀린 부분은 댓글로 알려주시면 감사하겠습니다. 반복문(Loop, Iteration) 프로그램 흐름을 제어하는 제어문 중 하나 실행코드를 반복적으로 수행시켜준다. 크게 for문과 while문으로 나뉜다 for문 for( 초기식; 조건식; 증감식 ) { 반복적으로 실행시키고자 하는 코드 ; } - 초기식 : 반복문이 시작될 때 선언되는 초기값 보통 반복문에서 사용될 변수를 선언 및 초기화 구문 ex) int i = 0; - 조건식 : 반복문에서 반복적으로 수행될 조건 조건식이 true일 경우 반복문 실행 => false가 되는 순간 멈추고 빠져나온다 (보통 초기식에서 제시한 변수를 가지고 조건식을 작성한다) ex) i < 10; (.. 2020. 12. 28.