Call by value in Java
Call by Value란? 문자 그대로 값을 호출 합니다. 즉 전달 받은 값을 복사하여서 사용하기에, 원본은 변경되지 않습니다. Call by Reference란? 참조에 의한 호출 입니다. 즉 전달 받은 값을 직접 참조하기에, 원본 역시 변경이 됩니다. Java에는 해당 호출 방식을 안 쓰지만, 원본이 변경되는 경우가 있어서(array, 객체) 오해의 여지가 있습니다. 예시로 살펴보겠습니다. 클래스를 만들고, 메서드 실행 시 매개변수로 원본을 변경하는 일이 발생합니다. 하지만 run메서드에 매개변수로 넘길 때, 주소 값을 복사해서 넘겼습니다. 그리고 복사된 주소값으로 참조가 가능해져, 주소 값이 가르키는 객체가 변경됩니다. a1, a2를 생성해주고, 메서드를 돌려 인자로 넣어줄 때 arg1, arg2..
[Error] Git
error: failed to push some refs to push할 때 발생하는 에러로 remote 저장소만 변경될 때 발생한다. 일반적으로 local에서 변경 후, remote에 올린다. 그렇지만 remote에 있는 파일을 직접 변경 할 경우 해당 에러가 발생하는데 force명령어로 강제로 push하는 경우 데이터 유실이 발생할 수 있다. sol repo를 pull로 받아와 변경사항을 맞춰준 후 push를 하자. 좀 더 자세하게 설명하자면, local에서 a,b,c파일을 push -> local: a,b,c /remote:a,b,c local에서 추가 작업 & remote에서 c파일을 수정 -> local: a,b,c,d,e /remote:a,b,c-1 push 할 경우 해당 에러(error: f..