본문 바로가기

Til41

[TIL] #9. do-while, constructor, abstract [ 개인과제 해설 ] do-while이번 과제처럼, 계산기가 처음에는 무조건 실행되어야 하는 경우에는 일반 while문 보다 do-while문이 더 적합하다. 더 섬세한 코드를 작성할 수 있기 때문이다.while문이 떠오를 때, 무조건 실행되어야 하는 경우인지 그렇지 않은지를 한번 더 생각해 볼 필요가 있다.  Constructor생성자를 오버로딩해서 사용할 때, 기본 생성자도 필요하다면 꼭 작성해주어야 한다. 생성자를 선언하지 않을 때는 컴파일러가 기본 생성자를 자동으로 만들어 주지만, 생성자를 작성한 경우에는 자동으로 만들어 주지 않기 때문에 오류가 발생한다. /* Calculator 클래스 */pulic class Calculator { private List resultList; // 생성.. 2024. 5. 1.
[TIL] #8. SRP, OCP, (Git)PR [ 개인과제 ] 개인과제 level2를 마무리 했다. 클래스를 나누는게 어려웠는데, 문제를 따라가다보니 완성은 한 것 같다. 문제 중 처음 본 단어가 있어서 정리해보려고 한다. SRP(Single Responsibility Principle) 단일 책임 원칙: 하나의 클래스는 단 하나의 책임만 가져야 한다는 원칙특징 1. 클래스가 변경되는 이유는 단 하나이다. 2. 클래스는 한 가지 역할만 수행한다. 3. 코드가 읽기 쉽고 이해하기 쉽다. 4. 코드의 재사용성이 높아진다. OCP(Open Closed Principle) 개방 폐쇄 원칙: 확장에 대해서는 열려 있어야 하고, 변경에 대해서는 닫혀 있어야 한다는 원칙: 기존 코드를 변경하지 않으면서, 기능을 추가할 수 있도록 설계 되어야 한다는 원칙특징 1... 2024. 4. 30.
[TIL] #7. thread [ 자바 문법 종합반 5주차 ] Thread: 프로세스 내에서 일하는 일꾼실행요청이 들어오면 쓰레드 생성프로세스 내 주소공간이나 메모리공간을 공유받음 Multi Thread: 여러개의 쓰레드가 실행되는 것장점 - 성능이 좋아짐 - 지원을 효율적으로 사용단점 - 동기화 문제 발생 가능성 - 데드락 발생 가능성 Daemon Thread: 낮은 우선순위를 가진 쓰레드 쓰레드 제어sleep( ) : 지정된 시간동안 일시정지interrupt( ) : 일시정지 상태인 쓰레드를 실행 대기 상태로join( ) : 정해진 시간동안 지정한 쓰레드가 작업하는 것을 기다림 ⇒ 쓰레드의 실행을 보장받을 수 있음yield( ) : 남은 시간을 다음 쓰레드에게 양보하고, 자신은 실행대기 상태가 됨synchronized : 한 쓰레.. 2024. 4. 29.
[TIL] #6. fianl, static [ 알고리즘 세션 ] 의사코드 (pseudo-code): 코드를 흉내내서 읽기 쉽게 적어놓은 것. 문법보다는 코드의 흐름을 미리 적는 것!시간복잡도 (time complexity): 알고리즘이 얼마나 효율적인지 평가하는 기준- Big-O 표기법  : O(n^2) : n^2에 비례하는 시간이 소요된다는 뜻O(1)    [ 개인과제 (Calculator) ] level 2 - 7에서 final과 static을 어디에 선언하면 좋을지에 대해 고민했다. [ final ]:오직 한 번만 할당할 수 있는 entity를 정의할 때 사용된다. final 변수1. 원시타입 : 로컬 원시 변수에 final로 선언하면 한번 초기화된 변수는 변경할 수 없는 상수값이 된다.public void test_final_primiti.. 2024. 4. 27.