기록/TIL(57)
-
[TIL] Today I Learned - 221128
[TIL] Today I Learned - 221128 221128 기록 Java 추상 클래스, abstract로 선언이 된 클래스는 해당 객체를 만들지 못한다. 해당 클래스에서 객체를 생성하기 위해서는 자식클래스, 즉 구체화를 시킬 클래스를 구현해서 생성해야함 추상 클래스는 상속을 위한 클래스이며 자식 클래스에게 완성을 하라고 역할을 부여하는 클래스 추상 클래스에서 생성이 된 멤버는 구체화 된 클레스에도 존재하게 된다. 추상 클래스 뿐만 아니라 추상 메서드의 경우에도 abstract 메서드 오버라이딩 기존의 경우 오버라이딩의 개념은 슈퍼 클래스에서 가지고있던 메서드를 서브 클래스에서 재작성하는 것 알게된 것 슈퍼 클래스에 존재하는 메서드가 존재 해당 메서드는 서브 클래스에서 완성 외부에서 해당 메서드 ..
2022.11.28 -
[TIL] Today I Learned - 221125
[TIL] Today I Learned - 221125 221125 기록 Java 객체 지향적 설계로 은행을 구현하면서 메서드 쪼개기, 하나의 메서드에는 하나의 책임만 가지게 하는 것에 대해 이해를 하고 그를 실천하였다. 원래의 상태였으면 해당 코드 내부에 있는 다양한 메서드들은 이 transfer이란 메서드에 존재하였겠지만, 메서드를 쪼개면서 각자의 역할에 맞췄기에 최대한 메서드에 책임을 덜어내려고 한다. 또한 기능이 구현이 되면 메서드 중에 합치거나 혹은 로직을 변경하여 메서드의 개수도 줄여보려고 한다. public void transfer() { Scanner scanner = new Scanner(System.in); System.out.println("========================..
2022.11.26 -
[TIL] Today I Learned - 221124
[TIL] Today I Learned - 221124 221124 기록 파이썬 알고리즘 진법 문제 풀이를 하면서 진법에 대해서 정리했다. [Python] n진법 변환 (tistory.com) [Python] n진법 변환 [Python] n진법 변환 알고리즘 문제풀이를 하다가 3진법 변환의 문제를 만났다. 해당 경우 기존 진법의 정의를 사용하여 변환하였으나 파이썬에는 유용한 진수 변환 메서드들이 존재하기에 이를 skyriv312079.tistory.com java 은행을 객체 지향적으로 표현하기 위해 팀원들과 미니 프로젝트를 시작. 시작을 하면서 객체의 값을 비교하기 위해 == 연산자를 썼다가 오류가 생겼고 equals() 메서드를 사용하여 오류를 해결하였다. 오늘 ==연산자와 equals의 값을 비교하..
2022.11.24 -
[TIL] Today I Learned - 221123
[TIL] Today I Learned - 221123 221123 기록 Java throw exception private Memo getMemo(int memoNumber) { for (Memo memo : this.memoList) { if (memoNumber == memo.getNumber()) { return memo; } } throw new RuntimeException("MemoList data 타입 확인필요"); } 이전까진 RuntimeException같은 항목을 왜 사용하는지 잘 몰랐었다. 오류가 생기면 ide에서 해당 항목에서 어느 부분에 오류가 생겼는지 알려주는데 필요가 있나 싶었던 것이었다. 다만 오늘 사용하던 메서드들 위와 같이 변경을 하면서 튜터님께서 'throw new 오..
2022.11.23 -
[TIL] Today I Learned - 221122
[TIL] Today I Learned - 221122 221122 기록 자바 객체지향 이번에 카페를 다시 설계를 하면서 각 객체에 각 객체가 해야 하는 일을 각 객체에 배정을 했다. 그러나 오늘 강의를 들으면서 각 객체가 할 일을 service class를 따로 만들어서 설계를 하게 되면 좀 더 코드의 간결함을 추구할 수 있다는 것을 알게 되었다. 코드 리펙토링 중점으로 기존의 코드를 계속 개선시키면서 코드를 개선시키면서 내가 코드를 구현하는 것뿐만 아니라 이해를 해가면서 진행을 해야겠다는 생각이 들었다. 알고리즘 프로그래머스 lv0의 경우 5문제를 남겨두고 현제 lv1로 넘어왔다. lv1 문제를 풀면서 lv0의 풀이 문제 코드들을 좀 더 깔끔하게 해결하고자 한다. 또한 정규표현식이란 것을 사용해서 문..
2022.11.22 -
[TIL] Today I Learned - 221121
[TIL] Today I Learned - 221121 221121 기록 Java - 객체지향 설계 SOLID [Java] 객체지향 설계 - SOLID (tistory.com) [Java] 객체지향설계 - SOLID [Java] 객체지향 설계 - SOLID 객체 지향 설계, 우리가 사는 세상을 객체들끼리의 상호작용으로 보고 이를 프로그래밍 적으로 설계하여 표현을 하는 것이다. 이러한 것을 객체지향 설계라고 하며 해 skyriv312079.tistory.com 객체지향 설계 - 카페 만들기 저번 주 과제로 나왔었던 카페 만들기를 구현했었다. 짧게 시간을 잡고 머릿속에서 생각난 대로 구현을 하다 보니 마지막에는 코드의 구현은 되긴 하였지만 코드가 중구난방으로 이루어졌었다. 해당 부분을 구현한 후 SOLID원..
2022.11.21