일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 코테
- 코틀린
- MySQL
- Android
- 혼공파
- 정보처리기사
- 프로그래머스
- 인프런
- 혼공단
- 카카오코테
- 안드로이드
- 정처기
- 알고리즘
- Kotlin
- 오블완
- CS
- 자료구조
- 자바
- java
- join
- 혼공챌린지
- SQL
- doitandroid
- select
- 스터디
- 기술면접
- groupby
- Til
- 티스토리챌린지
- 안드로이드스튜디오
- Today
- Total
목록Java (17)
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) : 로그 시간, 알고리즘의 실행 시간이 입력 데이터의..
인프런 강의 을 보고 정리한 내용입니다.매주 모여 각자 정리한 내용을 기반으로 발표하고 질문 공유하는 스터디입니다. 📘제네릭이 필요한 이유다음과 같이 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..
보호되어 있는 글입니다.
인프런 강의 을 보고 정리한 내용입니다.매주 모여 각자 정리한 내용을 기반으로 발표하고 질문 공유하는 스터디입니다. 섹션 8, 섹션 9는 모두 중첩 클래스, 내부 클래스에 대한 내용이다. 우선 중첩(Nested)과 내부(Inner)라는 단어의 뜻과 그 차이에 대해 알아보자.중첩(Nested) : 어떤 다른 것이 내부에 위치하거나 포함되는 구조적인 관계. 나의 안에 있지만 내 것이 아닌 것.내부(Inner) : 나의 내부에 있는 나를 구성하는 요소. 나의 내부에서 나를 구성하는 요소강의에 나온 예시를 chatGPT에게 그려달라고 해보았다. 큰 상자 안에 전혀 다른 상자를 넣은 것은 중첩(Nested)이라고 한다. 사람의 심장은 내부(Inner)에서 사람을 구성하는 요소이다.📘중첩 클래스중첩 클래스는 st..
인프런 강의 을 보고 정리한 내용입니다.매주 모여 각자 정리한 내용을 기반으로 발표하고 질문 공유하는 스터디입니다.📘열거형 - ENUM타입 안전 열거형 패턴강의 예제를 실습하면서, 다음과 같이 문자열을 그대로 입력하는 방식은 몇 가지 문제점이 있었다.public class StringGrade { public static final String BASIC = "BASIC"; public static final String GOLD = "GOLD"; public static final String DIAMOND = "DIAMOND";} 1) 오타가 발생하기 쉽다.2) 유효하지 않는 값이 입력될 수 있다.3) 다양한 형식으로 입력될 수 있어 일관성이 떨어진다. 이러한 문제점을 해결하기 위해..
인프런 강의 을 보고 정리한 내용입니다.매주 모여 각자 정리한 내용을 기반으로 발표하고 질문 공유하는 스터디입니다.📘String 클래스String 클래스란?String 클래스 : 문자열을 편리하게 다룰 수 있는 클래스. 직접 char[]에 문자를 하나하나 넣어서 문자를 다루는 것은 불편하기 때문에 String 클래스를 제공해 더 편리하게 문자열을 사용할 수 있다.String 클래스에서 문자열을 생성하는 방법에 1) 쌍따옴표를 사용하거나, 2) 객체를 생성하는 방법이 있다. String은 클래스, 즉 참조형이기 때문에 참조값만 들어갈 수 있다. 그러나 문자열은 매우 자주 사용되기 때문에 자바에서는 1)번 방법을 사용하더라도 2)번으로 변경해준다. 같은 이유로, 참조형이지만 편의상 + 연산을 사용할 수 있..