일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 카카오코테
- 안드로이드
- groupby
- 프로그래머스
- MySQL
- doitandroid
- Til
- 자바
- 오블완
- 티스토리챌린지
- 혼공단
- 코틀린
- join
- 코테
- CS
- Android
- 기술면접
- 혼공파
- 알고리즘
- 혼공챌린지
- 정처기
- Kotlin
- 자료구조
- java
- 스터디
- 정보처리기사
- select
- 인프런
- 안드로이드스튜디오
- SQL
- Today
- Total
목록전체 글 (342)
Welcome! Everything is fine.
인프런 강의 을 보고 정리한 내용입니다.매주 모여 각자 정리한 내용을 기반으로 발표하고 질문 공유하는 스터디입니다. 📘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; }} 만약 다음과..
얕은 복사 vs 깊은 복사얕은 복사 : 주소값만 복사되고 실제값은 1개로 유지되는 것깊은 복사 : 실제값까지 똑같이 복사되는 것배열을 복사하려면 깊은 복사를 통해 복사를 해주어야 한다. 다음 예제를 보자. a와 b는 똑같은 값을 가지게 되는 것이 아니라 똑같은 주소를 가리키게 된다. 따라서 b 배열의 값을 바꾸면 a 배열의 값도 바뀐다.// 얕은 복사int[] a = {1, 2, 3, 4};int[] b = a; 하지만 다음 예제처럼 새로운 배열 인스턴스를 생성하고, 반복문을 통해 a에 있는 값들을 직접 하나하나 넣어준다면 어떻게 될까? 이렇게 하면 b 배열의 값을 바꾸더라도 a 배열의 값은 바뀌지 않는다.// 깊은 복사int[] a = {1, 2, 3, 4};int[] b = new int[a.leng..
보호되어 있는 글입니다.