참조를 가장 잘 이해 할 수 있는 예시를 배웠다. 예를 들어, test.txt
파일이 있다. test.txt
파일을 복사해서 붙여넣으면 test-copy.txt
파일이 생긴다. 이 둘은 완전히 다른 파일이다. test.txt
파일을 수정한다고 해서 test-copy.txt
파일의 내용이 바뀌지 않기 때문이다.
그런데 test.txt
의 바로가기 파일을 만들면 어떻게 될까? test.txt
의 바로가기 파일이 생길 것이다. test.txt
을 수정하면 바로가기의 파일도 수정이 된 것을 확인할 수있다. 그리고 용량도 작다. test.txt
이 100GB 라고 하더라도 바로가기의 용량은 1KB 보다 작다. 왜냐하면 바로가기 파일은 단지 원본파일을 가리키고만 있기 때문이다.
class A {
int a;
A(int a) {
this.a = a;
}
}
A a = new A(1);
A b = a;
다음과 같은 코드가 있다. A a = new A(1);
에서는 파라미터를 1을 가지는 생성자의 특정 인스턴스 A
가 생성이 되면서 변수 a
가 인스턴스 A
를 가리키는 형태를 가진다.
그리고 A b = a;
에서 =
같다라는 표현은 a
가 가리키는 인스턴스 A
를 b
도 똑같이 가리킨다 라는 뜻이다.
좌항의 A a;
A b;
를 선언 했을 때는 단지 데이터타입이 A
라는 것을 선언한 것이다.
호눅스처럼 제목은 영어로 본문은 한글로 적었다. 커밋할때 항상 페이지를 열어두는 포스트가 있는데 좋은 git commit을 위한 영어사전이 그것이다. 종종 참고하면서 작성해봤다.
근데 저 포스트에서 알려주는 Refactor 라던가 Implement 는 뭔가 대단하고 거대한 작업을 마쳤을 때 써야하는 그런 느낌이고 다른 영단어들은 아직 내가 써야하는 단계는 아닌듯 해보였다.
아직 자바를 배우는 단계라 그런지 Add, Fix 외에 다른 단어들은 사용할 필요성을 못느꼈다. 두 단어만 사용해서인지 일관성 있게 작성이 되어 가독성은 좋아보인다 😅
0. 체스만들기. 미션3
미션 3 피드백, 리뷰 오면 수정, 리뷰올떄까지 다른분들 PR보기 ㄱㄱ
루카스에 있는 자바 공부할 거리 공부하기
생활코딩 객체지향 파트 (클래스 패스, 패키지,~~ API, ~~abstarct, final, 인터페이스, 다형성, 예외1 문법, 예외2 예외던지기, 예외3 만들기, Object 클래스, 상수와 enum, 참조, 제네릭) 링크 -끝