일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 혼공단
- 프로그래머스
- join
- 혼공챌린지
- 인프런
- 자바
- doitandroid
- 알고리즘
- 티스토리챌린지
- MySQL
- 자료구조
- 코틀린
- 오블완
- 안드로이드
- CS
- Android
- 기술면접
- 코테
- Til
- groupby
- 혼공파
- select
- 정보처리기사
- 안드로이드스튜디오
- 스터디
- 정처기
- 카카오코테
- Kotlin
- java
- SQL
- Today
- Total
목록2025/01 (9)
Welcome! Everything is fine.
인프런 강의 을 보고 정리한 내용입니다.매주 모여 각자 정리한 내용을 기반으로 발표하고 질문 공유하는 스터디입니다. 📘HashSet해시 코드 해시 자료 구조에 데이터를 저장하는 경우 hashCode() 를 구현해야 한다! 해시 인덱스는 배열의 인덱스로 사용되기 때문에 양의 정수만 사용 가능하다. 따라서 문자 혹은 객체의 경우 hashCode() 메서드를 통해 고유한 숫자를 만들고, 그 숫자를 이용해 해시 인덱스를 만든다. 문자열의 경우, hashCode() 메서드를 통해 문자를 기반으로 고유한 숫자를 만든다. 강의에서는 'A' - 65, 'B' - 66, 'AB' - 131와 같이 아스키 코드를 통해 각 문자에 고유한 숫자를 할당해 계산했다. 실제 자바의 String.hashCode()는 다음과 같이..
보호되어 있는 글입니다.
인프런 강의 을 보고 정리한 내용입니다.매주 모여 각자 정리한 내용을 기반으로 발표하고 질문 공유하는 스터디입니다. 📘List"의존한다" 라는 것은 무엇일까? 다음과 같이 MyList를 구현하는 MyArrayList와 MyArrayList를 만들었다.public interface MyList { int size(); void add(E e); void add(int index, E e); E get(int index); E set(int index, E element); E remove(int index); int indexOf(E o);}public class MyArrayList implements MyList { //...}public class MyLinke..
인프런 강의 을 보고 정리한 내용입니다.매주 모여 각자 정리한 내용을 기반으로 발표하고 질문 공유하는 스터디입니다. 📘빅오(O) 표기법 빅오(Big O) 표기법 : 알고리즘 성능을 분석할 때 사용하는 수학적 표현 방식으로, 데이터의 양의 증가에 따른 성능 변화 추세를 이해하기 위한 방법이다. 데이터가 매우 많이 들어오면 상수는 크게 의미가 없어지므로 빅오 표기법에서는 상수를 제거한다.O(1) : 상수 시간, 입력 데이터의 크기에 관계없이 알고리즘 실행 시간이 일정O(n) : 선형 시간, 알고리즘 실행 시간이 입력 데이터의 크기에 비례하여 증가O(n^2) : 제곱 시간, 알고리즘의 실행 시간이 입력 데이터의 크기의 제곱에 비례하여 증가O(log n) : 로그 시간, 알고리즘의 실행 시간이 입력 데이터의..
✅ 계산기 과제 해설과제 제출 마감 직후, 바로 튜터님의 해설 세션이 시작되었다. 해설을 들으며 내가 빼먹은 부분이나 몰랐던 부분을 알게 되었다. ✔️ null을 조심하자보통 문자열이 같은지 확인하기 위해 equals() 메서드를 쓸 때, 다음과 같이 사용해왔다.input.equals("exit");하지만 확실히 null이 될 수 없는 것을 앞에 두는 것이 좋다고 한다.“exit”.equals(input); ✔️ 요구사항은 꼼꼼히예외처리를 할 때, 여러 상황에서 살펴봤지만 정작 양의 정수로 제한하는 예외 처리를 빼먹었다.요구사항을 더 꼼꼼히 살피는 습관을 들이자.if (num1 ✔️ 타입 매개변수 제한이 중요!Lv.3에서 사용된 제네릭은 사용해봤다는 것이 중요하다고 하셨다. 특히 와 같이 타입 매개변..
enum 사용하기LV.3 계산기 구현을 시작했는데, enum 타입으로 연산자 타입에 대한 정보를 관리해야한다는 요구사항을 보고 고민에 빠졌다. 처음에는 이런 식으로 하라는 건가? 했는데, 이미 Lv.2 계산기를 할 때 switch문에서 잘못된 연산자를 입력 받지 못하게 했기 때문에 enum을 왜 써야하는지 의문이었다. 사칙연산을 그대로 enum에 집어넣을 수 있다면 몰라도...?public enum OperatorType { ADD("+"), SUBTRACT("-"), MULTIPLY("*"), DIVIDE("/")} 알고보니 정말 집어넣을 수 있었다. enum 상수마다 동작을 다르게 정의해야 할 때 익명 클래스를 사용해 각 상수별로 고유한 메서드 구현을 할 수 있다.public e..
✅ 자바 문법 종합반 3주차 완료접근 제어자접근제어자(access modifier) : 내부에 선언된 데이터를 보호하기 위해 외부에서 접근하지 못하도록 제한하는 역할을 한다. 클래스, 멤버 변수, 메서드, 생성자에 사용되며, default가 기본값이다.public : 접근 제한이 없다.protected : 같은 패키지 내에서 접근 제한이 없고, 다른 패키지라도 상속 관계라면 접근이 가능하다.default : 같은 패키지 내에서만 접근이 가능하다.private : 같은 클래스 내에서만 접근이 가능하다.상속상속 : 부모 클래스의 필드와 메서드를 물려주는 것. extends 키워드를 사용한다.부모 클래스(슈퍼 클래스) : 상속을 통해 자신의 필드와 메서드를 다른 클래스에 제공하는 클래스자식 클래스(서브 클래스..
인프런 강의 을 보고 정리한 내용입니다.매주 모여 각자 정리한 내용을 기반으로 발표하고 질문 공유하는 스터디입니다. 📘제네릭이 필요한 이유다음과 같이 Integer 타입을 담고, 꺼낼 수 있는 클래스가 있다고 하자. Integer 타입 말고도 Double, Boolean, String 등의 다양한 타입을 담아야 한다면 어떨까? 각 타입에 맞는 새로운 클래스를 계속 만들어야 할 것이다. public class IntegerBox { private Integer value; public void set(Integer value) { this.value = value; } public Integer get() { return value; }} 만약 다음과..