[2020.12.07.월] TIL

노을·2020년 12월 7일
0

TIL

목록 보기
17/81

브랜치 만들기

$ git branch

ex) git branch issue1

로컬 디렉토리에서는 삭제하지 않지만 git에서는 삭제

$ git rm --cached sample.txt
$ git commit -m "Delete sample.txt"

로컬 디렉토리와 git 저장소에서 모두 삭제

git rm sample.txt
$ git commit -m "Delete sample.txt"

git에서 특정 브랜치만 clone하는 방법

git clone <repo_url> --branch <tag_name> --single-branch

ex) git clone https://github.com/sanhee/codesquad_2021_masters_test.git --branch step-3 --single-branch

Git Push 에러 해결하기([Rejected] Master -> Master (Fetch First) Error: Failed To Push Some Refs To)

git pull --rebase 원격저장소별칭 master

불변 클래스(immutable class)와 가변 클래스(mutable class)

String 클래스와 같이 인스턴스가 한 번 생성되면 그 값을 변경할 수 없는 클래스를 불변 클래스(immutable class)라고 합니다.

반대로 StringBuffer 클래스와 같이 자유롭게 인스턴스의 값을 변경할 수 있는 클래스를 가변 클래스(mutable class)라고 합니다.

String 클래스와 같은 불변 클래스는 StringBuffer 클래스의 append()나 insert() 메소드와 같이 값을 변경하는 set 메소드를 포함하지 않습니다.

이렇게 불편하기만 할 것 같은 불변 클래스를 사용하는 이유는 멀티 스레드 환경에서 객체가 변화되는 상황이라면 불변 인스턴스를 사용하는 것이 좀 더 신뢰할 수 있는 코드를 작성할 수 있기 때문입니다.
즉, 하나의 객체에 접근하면서 각각의 객체가 서로 영향을 주어서는 안 되는 경우에 불변 인스턴스를 사용하면 값이 변하지 않는다는 점이 보장됩니다.

profile
카르페디엠

0개의 댓글