본문 바로가기

개발공부하며 느낀 인생 공부128

관심사의 분리와 객체지향 그리고 코딩이 어려운 이유(행하는 주체와 그것을 받아오는 대상의 정의의 어려움) [20220709 til] 관심사의 분리 라고 들어보았나? 하나의 관심사가 여기저기 흩어져 있으면 중복되는 코드로 존재하면, 그 관심사에 변경이 일어날 때 엄청난 수정이 발생된다. 먼저, 이는 메소드 추출 리팩토리 기법(extract method)으로 중복된 코드를 하나의 메소드로 정의하여 분리할 수 있다. 즉 프로그램을 수정하거나 재접근하거나 차후 리빌딩할때도 관심사의 분리를 무시한 코드는 코드를 식별하기 어려워 엄청난 수정( 즉 노동력 비용 등)이 필요로 하기때문에 필요한 기법이라고 한다. 객체 지향 프로그래밍 이란? 객체 지향 프로그래밍 ( Object-Oriented Programming, OOP)은 컴퓨터 프로그래밍의 패러다임 중 하나이다. 객체 지향 프로그래밍은 컴퓨터 프로그램을 명령어의 목록으로 보는 시각에서 벗어나 .. 2022. 7. 9.
너무 가까이 보면 당연한 것도 보이지 않는다[20220708 til2] 금요일 과제가 잘 되는 듯 해보였다. 마지막으로 주는 과제가 잘되는 듯 해보였다. 근데 뜬금없는 부분에서 막혀서 한참을 정말 1시간을 넘게 그냥 고민한게 아니라 갖은 수를 다 동원하면서 고민했는데 정말...어이없게 풀렸다. 그것도 트레이너 님께 물어서 ... 일단 문제 파악 1. 사실 저렇게 생성자의 매개변수를 많이 준 적이 처음이라 저래도 되나..싶었고 ( 몰라 나도 많이주면 괜히 처리할 변수가 많아지니 불안하자나..) 2.저렇게 반아온 매개변수가 한 다리를 건넌 것이 아니라 메인 클래스에서 타고타고 넘어온 것이라 두번째 불안했다. 근데 친절하게 저렇게 빨간 줄이 뜬다.. ^^ 한 노력 1. 매개변수 명 바꿔보기 from -> myAccount , to -> yourAccount 로 바꾸어보았다. (이.. 2022. 7. 9.
복습의 복습의 복습 이월된..주간회고[메가테라 9주차라 쓰고 이월 3주차 회고] 이월되어서 이번주부터는 다시 복습의 향연이었다. 나는 개인적으로 놓치고 간게 많아서 좋았는데 그래도 여전히 못챙긴 퀘스트나 과제들...아니 못챙긴게 아니라 완성하고싶은데 뭐랄까 더 나은 완성이 안된다할까 ? 하 답답하다. 항상 A/B 테스트 하듯이 가설을 세우고 접근해서 되는지 안되는지 체크하는걸 좋아하는데 잘되다가 모든 가설이 다 망하는 경우에 도달했다... 모든 가설이 실패하면 어떡해야하나 후 일단은 어디서 논리가 잘못됬는지 논리를 찾아서 물어보는 식으로 하고 있는데 안그래도 이 문제 너무 오래잡아서 물어볼 예정이다. 휴 더 가설들을 많이 세우고 논리를 잡을 수 있도록 공부를 해야겠다. 휴) 질문 해서 풀었다 너무 시원하다. 개비스콘 먹은 것 마냥 그래도 많이 성장했다. 코드가 조금 보인다. 복습하면.. 2022. 7. 8.
List 와 ArrayList 알기 쉽게 간단 정리와 활용 List 와 ArrayList 일단 오늘은 ArrayList 에 대해 알게 된게 있어서 기록하고 넘어가려고 한다. 우선 List 는 추상적개념이라서 선언할 때 쓴다 리스트 + 타입명 이런 식으로 ArrayList 는 실체화시키는 명령어로 리스트형태의 배열을 생성할 때 쓴다. List 와 배열과의 차이 우리가 자바를 배울 때 처음 접하기 쉬운 배열 int[] variable name = new int[] {1.2.3,4} String[] variable name = new String[] {"자바","파이선","자바스크립트"} 이것들과의 차이는 일반 배열은 생성할 때 각 값의 인덱스(자릿수 혹은 메모리 주소로 이해)가 지정되어있어 배열의 이동이 불가능하다. 하지만 1. List 는 동적 배열이라 배열의 추.. 2022. 7. 6.