기록공간

[TIL] 06.12 (깃허브 명령어, 얕은복사 & 깊은복사) 본문

TIL(Today I Learned)

[TIL] 06.12 (깃허브 명령어, 얕은복사 & 깊은복사)

mkm101 2023. 6. 12. 21:30
반응형

📙  오늘 공부 한 것

오늘은, 스파르타코딩클럽에서 제공해준 강의와 대략적인 깃 사용법에 대해 복습을하였다.

 

깃 명령어

fork: (깃허브사이트에서 다른 사람의 파일들을 나의 래퍼지토리로 옮겨옴)

git clone 깃허브 주소.git      (깃허브 주소에있는 repository를 다운로드)

git branch (브랜치명) : 브랜치 생성

git checkout 브랜치명 : 해당 브랜치로 이동 

git add .(파일 선택 .은 전체선택)

git conmmit -m "커밋내용"

git push origin (브랜치명)

 

얕은 복사와 깊은 복사

얕은복사

int[] arr = new int[5]; 같은 경우, arr은 참조형 변수이다. 

즉 이 변수는 실제값이 아닌,실제 값의 주소값을 가진다.

(주소값만 복사된다는 것은 변수명은 서로 다르지만, 같은 값을 가리키고 있다는 것을 의미한다,)

 

int[] a = { 1,2,3,4};

int[] b = a; // 얕은 복사

 

b[0] = 3; // b배열의 0번 째 순번값을 3으로 수정.

System.out.println(a[0]) // 3으로 출력.

 

깊은 복사

얕은 복사처럼 가짜 복사가 아니라 진짜 새로운 배열을 똑같이 만들고 싶을때 깊은 복사를 합니다.

// 깊은 복사

int[] a = { 1, 2, 3, 4 };
int[] b = new int[a.length]; 

for (int i = 0; i < a.length; i++) {
    b[i] = a[i]; // 깊은 복사
}

b[0] = 3; // b 배열의 0번째 순번값을 3으로 수정했습니다. (1 -> 3)

System.out.println(a[0]); // 출력 1 <- 깊은 복사를 했기때문에 a 배열은 그대로임.

 

 

 

반응형