*주의 : 이 글은 CODE라는 책을 읽고 영감을 받아 작성한 글입니다. 일반적인 프로그래밍 추상화에 대해서는 설명하지는 않습니다. 저는 프로그래밍 추상화와 다른 추상화에 대한 미묘한 차이를 이해하고자 이 글을 작성하였습니다. 이 글을 읽으면 추상화에 대한 대략적인 감을 익힐 수 있을지는 모르겠지만, 프로그래밍 추상화에 대한 이해는 어려울지도 모릅니다. 프로그래밍을 공부하다 보면 추상화라는 단어가 눈에 많이 들어옵니다. 하지만 이 단어가 쉽게 와닿지가 않습니다. 우리가 흔히 알고 있는 추상화는 다음 과 같은 그림들일 것 입니다. 그렇다면 프로그래밍에서는 어떻게 사용될까요? 흔히 우리가 프로그래밍상에서 알고있는 추상화는 구현체가 없는 메소드입니다. 그런데 위 그림과 프로그래밍에서 말하는 추상화는 전혀 다른..
프로그래밍 공부를 하다보면 얕은 복사와 깊은 복사가 나옵니다. 얕은 복사는 값만 복사하고 주소값은 복사하지 않고 값만 복사입니다. 그리고 깊은 복사는 주소값과 값 둘다 복사하는 방법입니다. 그런데 이건 알겠는데 막상 이것을 설명하려고 하면 무엇이 다른지 햇갈릴때가 많았습니다. 얕은 복사, 깊은 복사 이 두개가 있는 건 알겠는데... 뭐가 다른건지... 코드를 봐도 뭐가 다른건지... 제가 자바를 처음 공부했을때 이랬습니다. 사실 지금부터 설명하는 방법이 프로그래밍적으로 봤을때는 맞지 않을 수 있습니다. 하지만 적어도 이해가 될겁니다. 나중에 프로그래밍에는 뭐가 더 추가 되는지도 설명할 예정입니다. 검정 검정 위 두개의 글자를 읽어 보세요. 두개다 검정이라는 글자를 가지고 있습니다. 이제 두개의 단어는 각..