포스팅에 앞서 내용이 틀릴 수 있습니다. 해당 부분 지적 감사히 받습니다. 이번시간에는 HashSet에 대해 알아보자. 자료구조 중에서는 검색 효율이 O(1)인 자료구조가 있다. (정확히는 O(1)에 근접하는, 최악 O(N)이나 확률 극히 낮음) 바로 HashSet이다. HashSet은 순서를 고려하지 않고, 중복을 허용하지 않는 자료 구조이다. HashSet의 가장 큰 장점은 데이터 서칭 시간이 O(1)에 근사한 값으로 아주 빠르게 원하는 값을 찾아낼 수 있다. 다른 자료 구조들은 모든 데이터를 탐색하며, 찾고자 하는 값이 있는지 하나하나 비교를 했어야 했다. 어떻게 O(1)로 검색을 할 수 있는 것일까? 바로 찾고자 하는 데이터를 인덱스로 사용하면 해결된다. int 7을 array [7]에 저장해 ..
포스팅에 앞서 내용이 틀릴 수 있습니다. 해당 부분 지적 감사히 받습니다. 자바를 배우다 의존성 주입이라는 것을 배우게 되었다. 기존에도 의존성 주입이라는 것을 들어보아, 무언가 특별한 개념이 있는 것인 줄 알았다. 근데 특별한거 없이 그냥 클래스가 다른 클래스를 참조하는 것을 의존한다고 한다. 이러한 의존에는 의존 시간에 따라 2가지 방법으로 나뉜다. 컴파일 시간에 결정되는 정적 의존 결정, 런타임에 결정되는 동적 의존 결정이 있다. 동적 의존 결정은 전략패턴을 위해 유용하게 쓰인다. 또한 동적 의존을 통해 OCP 원칙 또한 잘 시키며 수행될 수 있다. OCP : 확장에 열려있으며, 새로운 기능이 추가되어도, 기존 코드는 수정을 하지 않으며, 최소한의 코드만 추가되게끔 하는 원칙
포스팅에 앞서 내용이 틀릴 수 있습니다. 해당 부분 지적 감사히 받습니다. 이번 시간에는 연결 리스트에 대해 알아보자. 이전 시간에는 배열 리스트를 배웠다. 그렇다면 연결 리스트는 무엇일까? Node Class 만들며, 다음 Node의 참조값, item을 저장하는 객체이다. Node에 다음 Node의 참조값을 저장해 나감으로써 연결된(Linked) 자료 구조임을 뜻한다. 모두 구현한 코드를 먼저 보자. Nodepublic class Node { Object item; Node next; public Node(Object item) { this.item = item; } @Override public String toString() { StringB..
포스팅에 앞서 내용이 틀릴 수 있습니다. 해당 부분 지적 감사히 받습니다. 이제 컬렉션 프레임 워크로 들어왔다. 컬렉션 프레임 워크를 마치게 된다면, 다음 강의는 실전 자바 고급 편이다. 이름에 고급이 들어가니 익히고 나면 고수가 될 것 같은 느낌이 들어 얼른 배우고 싶다. 배열을 메모리 관점에서 알아보자. 자바의 배열은 정적 크기를 갖고 있다. 한번 선언되면, 힙영역에 해당 크기만큼 할당되며, 메모리 주소는 연속된다. int[] array = new int[5];위와 같이 배열을 선언하였다. array의 주소가 x001라고 가정해 보자. 그렇다면 array [0]의 주솟값 또한 x001로 같을 것이고 array [1]의 주솟값은 int타입이 4byte이기에, x005로 될 것이다. 그렇다면 배열에 인덱..
포스팅에 앞서 내용이 틀릴 수 있습니다. 해당 부분 지적 감사히 받습니다. 이번시간엔 와일드카드에 대해 배워보자. 우선 와일드카드는 단독으로 사용될 순 없다. 이전 시간에 배운 제네릭 타입(제네릭 클래스)을 더 유연하고 간결하게 쓸 수 있게끔 도와주는 역할을 한다. 그러면 제네릭 메서드랑 와일드카드와의 차이점을 알아보자.static T printAndReturnGeneric(Box box){ T t = box.get(); System.out.println("이름 = " + t.getName()); return t;} //제네릭 메서드static Animal printAndReturnWildCard(Box box){ Animal animal = box.get(); System...
포스팅에 앞서 내용이 틀릴 수 있습니다. 해당 부분 지적 감사히 받습니다. 제네릭 메서드에 대해 알아보자. 이전 시간엔 제네릭 클래스에 대해 알아보았다. 제네릭 클래스를 통해 여러 객체의 타입을 하나의 클래스로 처리할 수 있었다. 제네릭 메서드 또한 마찬가지이다. 하나의 메서드로 여러가지 타입의 데이터를 처리해 줄 수 있다. public class Main { public static void main(String[] args) { Integer[] intArray = {1, 2, 3, 4, 5}; String[] strArray = {"Hello", "World"}; // 제네릭 메서드 호출 GenericMethodExample.printArray..
포스팅에 앞서 내용이 틀릴 수 있습니다. 해당 부분 지적 감사히 받습니다. 제네릭에 대해 알아보자. Generic :일반적인 제네릭은 일반적인 이라는 뜻을 가진 단어이다. 우리는 여태 메서드에 변수만을 넘겨줬었다. 하지만 제네릭을 사용하면 타입 또한 넘겨줄 수 있다. 즉, 하나의 메서드로 여러 타입을 넘겨줄 수 있게 된다. 이를 통해 코드 재사용성, 타입 안정성을 챙길 수 있다. 사용법을 알아보자. Generic Classpublic class GenericBox { private T value; public GenericBox(T value) { this.value = value; } public T getValue() { return value; ..
포스팅에 앞서 내용이 틀릴 수 있습니다. 해당 부분 지적 감사히 받습니다. 자바에서 프로그램 로직을 짜다가 만약 문제가 생기면 어떻게 될까? 문제의 종류에 따라 다르겠지만, 자바는 이럴 때 오류를 내뱉으며 즉시 프로그램을 종료한다. 물론 자바뿐만 아니라 다른 프로그래밍 언어들 또한 그렇다. 자바에서는 예외처리를 통해 해당 프로그램의 오류 흐름에서 다시 정상 흐름으로 바꿀 수 있게 해 준다. 이 과정을 예외처리라고 한다. 또한.. 예외처리를 함으로써, 개발자가 코드를 읽을 때, 정상 흐름과 오류 흐름을 나눠 볼 수 있음으로, 가독성 또한 챙겨갈 수 있다. 일단 예외처리에 사용되는 키워드를 알아보자. try : try뒤에 중괄호가 나오며, 이 지역에서 발생하는 예외를 탐색한다.catch : try 지역 끝에..
- Total
- Today
- Yesterday
- lord of sql
- extends
- zixem
- 프로그래머스
- spring
- 김영한 실전 자바 기초
- samron
- 코딩테스트
- 프로그래머스 상품을 구매한 회원 비율 구하기
- los 15단계
- 상속
- java
- los 15
- 백준 피보나치
- 코딩테스트 준비
- webhacking.kr
- 자바
- 백준 피보나치 수열
- ys.k
- 스프링
- 김영한 실전 자바 중급
- 상품을 구매한 회원 비율 구하기 파이썬
- Los
- 김영한 실전 자바 기본
- 기술스택
- samron3
- 김영한
- 프로그래머스 상품을 구매한 회원 비율 구하기 파이썬
- static
- 백준
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |