본문 바로가기

Swimming26

생성자 오버로딩은 왜 사용하면 안되는가. 지난 주차에 생성자 오버로딩에 관련하여 배우면서, 생성자 오버로딩의 사용법과 왜 사용하는지에 대해 공부했다. 그리고 생성자 오버로딩은 왜 사용하면 안 되는지에 대해 생각해 보라는 숙제를 받았다. 오늘까지 고민해본 결과 생성자 오버로딩을 사용하면 안 되는 이유는 다음과 같다. 생성자 오버로딩은 명시적이지 않은 코드를 만든다. 클린 코드를 공부하면서 내 나름대로 세운 규칙 중에 하나는 '반드시 명시적인 이름을 사용하라' 이다. 우리는 코드를 마치 '글을 읽듯이 읽을 수 있게 작성해야 한다'. 전체적인 코드를 봤을 때, public한 메서드들과 생성한 객체들만 가지고도 어떤 객체들을 활용해서 어떤 기능을 하는 프로그램인지 알 수 있어야 한다. 따라서 메서드의 이름과 객체의 이름, 변수의 이름은 반드시 '그 이.. 2023. 2. 28.
'왜'는 왜 생각해야 하는가. 모든 일과 현상에는 '이유'가 있고 '결과'가 있다. 세상 그 어떤 일도 원인 없이 갑자기 일어나지는 않는다. 그리고 우리는 모든 일의 이유를 알 수 있다. 아마 우리 인간이 그 이유를 파악할 수 없는 유일한 일은 '이 세상은 도대체 어떻게 생겨난 걸까' 밖에 없을 것이다. 개발 공부를 시작한 이래로, 나는 '왜'에 대한 생각을 계속해왔다. 이 블로그에서도 '왜'에 대한 사고를 끊임없이 강조하고 있고, 일상생활에서도 '왜'와 관련한 생각을 꾸준히 진행하고 있다. 그런데 '왜'는 왜 생각해야 할까. 오늘은 나와 '왜'의 길고도 짧은 여정에 대해 간략하게 서술하고자 한다. 내가 처음으로 '왜'를 생각하게 된 건 중학생 때였다. 당시 내가 다니던 학원에서는 어떤 새로운 외부강사님을 초청해 '논술' 수업을 진행.. 2023. 2. 27.
객체에 관한 고민 - 책임과 기능은 어디까지인가. 얼마 전, 디스코드에서 사용하는 별명을 바꿔야 할 일이 있었다. 바꿀 별명을 설정하고 저장 버튼을 누르지 않고 설정 창을 닫으려 하니 시스템에서 '저장되지 않은 변경사항이 있습니다.' 라는 메세지를 보냈다. '아, 내가 저장 버튼을 안 눌렀구나.'별생각 없이 저장 버튼을 눌러 바뀐 별명으로 설정을 변경하고 디스코드를 이용하던 중에 이런 생각이 문득 들었다. 별명을 변경하는건, 내가 하는 일이 맞나? 나는 바꿀 별명을 설정했는데 왜 시스템이 그걸 저장 안 했다고 뭐라 그러는 거지? 생각이 '그러면 이 시스템 내에서 나를 어떻게 생각하길래 이렇게 간섭하는 거지?'로 이어지고 나니, 결과적으로는 '그렇다면 이 디스코드라는 프로그램 안에서 나라는 사람은 어떤 기능과 역할을 하고, 어떤 책임을 가지고 있는 거야?.. 2023. 2. 25.
생성자 오버로딩에 관한 고찰 오늘 생성자 오버로딩을 배우면서 여러 사람들과 이야기를 나누고, 내 스스로 생각을 좀 해보면서 '도대체 생성자 오버로딩을 왜 사용할까?' 에 대한 고민을 해봤다. 사실 앞서 QnA 과정이 끝나고는 여전히 '그래서 왜 쓰는건데' 에 대한 명쾌한 해답을 얻지는 못 했다. 머릿 속에 들어온 정보들이 좀 두루뭉술하게 떠다니는 느낌이었다. 부트캠프 멤버분들 뿐만 아니라 지인에게도 물어봤다. 아니 필드 멤버에 값을 안넣고 그냥 초기화 된 데이터만 가지고 있는데 그게 불완전한게 아니라고? 그럼 해당 객체에 있는 0, null 같은 놈들은 어떻게 되는거지? 그러니까 나는, 필드 멤버로 존재하는 멤버변수들은 '반드시 그 값을 채워줘야'한다는 생각이 있었다. 그런데 해당 변수들에 대한 정보가 가변적으로 존재한다고 생각했고.. 2023. 2. 24.
<2/1> 아이패드 일주일 체험기 아이패드병은 오직 아이패드를 구입함으로써만이 완치될 수 있는 아주 지독한 병이다. 나 역시 어느 순간 지독한 아이패드병에 걸리고 말았었다. 사람마다 다르겠지만 내가 분석한 아이패드 병의 원인은 몇 가지를 꼽아보자면 모르는 중국어 단어를 찾아볼 때 나는 네이버 사전을 사용한다. 문제는 병음을 모르면 직접 그려서 찾아야 한다는 점인데, 쓰고 있는 휴대폰인 아이폰 12 미니는 너무 작아서 원하는 데로 입력이 안되고 마우스로 그리자니 정교하게 그리기 위해서는 손목에 힘이 많이 들어가 손목이 지나치게 아픈 결과를 야기했다. 나는 '펜으로 써서 단어를 찾을 수 있는 방법'이 필요했다. 알고리즘을 공부할 때마다 머릿 속으로만 생각하는게 너무 불편했다. 그렇다고 알고리즘의 진행 과정을 직접 그리면서 하자니 한 문제에 .. 2023. 2. 2.
반응형