일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 2019 카카오 개발자 겨울 인턴십 코딩테스트
- 부스트코스
- c++
- gradle
- 알고리즘
- set
- Baekjoon
- 카카오
- 2018 KAKAO BLIND RECRUITMENT 1차
- gcp
- 카카오 공채
- 비트마스크
- 2018 카카오
- bfs
- 2018 카카오 공채
- Java
- 백준
- 2018 KAKAO BLIND RECRUITMENT
- CS 스터디
- 2020 카카오 공채
- dfs
- 프로그래머스
- 2019 KAKAO BLIND RECRUITMENT
- 2019 카카오 공채
- 삼성 SW 기출문제
- 삼성 SW 역량테스트
- 자바
- 2020 KAKAO BLIND RECRUITMENT
- map
- 젠킨스
- Today
- Total
목록자바 (7)
아무코딩
Stream 데이터 처리 연산을 지원하도록 소스에서 추출된 연속된 요소 JAVA8에서의 변경 사항 람다표현식(lambda expression) : 함수형 프로그래밍 스트림 API(Stream API) : 데이터의 추상화 Java.time 패키지 : Joda-Time을 이용한 새로운 날짜와 시간 API 나즈혼(Nashorn) : 자바스크립트의 새로운 엔진. 이중 스트림 API 에 대해 자세히 다루어 보겠습니다. Stream API Stream API 이전 자바에서 많은 양의 데이터를 저장하기 위해서는 배열이나 컬렉션을 사용. 이러한 데이터를 접근하기 위해서는 반복문이나 반복자(iterator)를 사용하여 매번 코드를 작성. 이러한 코드들은 길고 가독성이 떨어지고 코드의 재사용이 불가능. Stream API..
문제풀이 set 을 이용 하는 데 많은 공부가 되었던 문제이다. 원래 4차원 배열을 이용하여 저장해도 됐지만 set을 사용하고 싶어 사용하다가 자연스레 하나 배워간 문제이다. 먼저, set을 사용할때 key가 객체일경우 객체안의 값이아니라 객체자체를 비교하게 된다 그래서 같은객체가 아니라면 값이 같아도 다르게 판단한다. 그래서 hashcode를 오버라이딩하여 수정 할 필요가있다. 객체안의 값이 같은경우 같은 해시코드를 반환하게 해주면 객체 값을 가지고 비교할 수 있다. 그리고 문제풀 때 주의할점이 방향성이 없는 선이라서 나같은 경우에는 양방향으로 set에 다추가해준 뒤 /2 를 통해 길의 개수를 판단해 주었다. 소스코드 더보기 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 1..
익명클래스란 무엇인가? 클래스의 선언과 객체의 생성을 동시에 하기 때문에 단 한번만 사용될 수 있고, 오직 하나의 객체만을 생성할 수 있는 일회용 클래스. 이름이 없기 때문에 생성자를 가질 수 없다. 단 하나의 클래스를 상속받거나 단 하나의 인터페이스만을 구현 할 수 잇다. 하나의 클래스로 상속받는 동시에 인터페이스를 구현하거나 둘 이상의 인터페이스를 구현할 수 없다. 생성자 다음에 중괄호 열고 닫고가 나오면, 해당 생성자 이름에 해당하는 클래스를 상속받는 이름없는 객체를 만든다는 것을 뜻한다. //추상클래스 Action public abstract class Action{ public abstract void exec(); } //추상클래스 Action을 상속받은 클래스 MyAction public c..
컬렉션 프레임 워크란? 자바에서 컬렉션 프레임워크란 다수의 데이터를 쉽고 효과적으로 처리할 수 있는 표준화된 방법을 제공하는 클래스의 집합을 의미합니다. 컬렉션은 다수의 데이터, 즉 데이터 그룹을, 프레임워크는 표준화된 프로그래밍 방식을 의미합니다. 즉, 데이터를 저장하는 자료 구조와 데이터를 처리하는 알고리즘을 구조화 하여 클래스로 구현해 놓은 것입니다. 이러한 컬렉션 프레임워크는 자바의 인터페이스(interface)를 사용하여 구현됩니다. 컬렉션 종류 인터페이스설명구현 클래스 List 순서가 있는 데이터의 집합으로, 데이터의 중복을 허용한다. 예) 대기자 명단 Vector, ArrayList, LinkedList, Stack, Queue 등 Set 순서가 없는 데이터의 집합으로, 데이터의 중복을 허용..
객체지향 프로그래밍(OOP) 객체지향 프로그래밍(Object Oriented Programming)이란? OOP는 컴퓨터 프로그램을 "객체"들의 모임으로 파악하고자 하는 프로그래밍의 패러다임 중에 하나이다. 각 객체들은 서로 메시지를 주고 받을 수 있으며 데이터를 처리 할 수있다. 절차 지향 C언어는 절차 지향 프로그래밍 이라고 하며, 쩔차 지향 프로그래밍은 프로세스가 함수 단위로 순서대로 진행되는 것을 말합니다. 객체 지향 프로그래밍의 장점 프로그램을 유연하고 변경이 용이하게 만든다. 프로그램의 개발과 보수를 간편하게 만든다. 직관적인 코드 분석을 가능하게 한다. 위의 장점들을 관통하는 객체 지향 프로그래밍의 중요한 특성은 강한 응집도(Strong Cohesion)과 약한 결합도(Weak Couplin..
Java의 특징 기본적으로 자바프로그램들은 JVM위에서 동작한다. JVM위에서 동작하기 위해서는 자바 바이트 코드가 필요하다. 이 자바 바이트코드는 개발자에 의해서 작성된 자바 소스코드(.java)를 자바컴파일러(javac)로 변환된 코드(.class)를 말한다. 자바 프로그램의 특징 JVM은 Bytecode를 구동하고 있는 OS에 맞추어 BinaryCode로 해석(Interpret)한다. 그러므로 JAVA 프로그램은 OS에 독립적이다. Bytecode는 클랩스 단위(.class)로 생성되므로, 프로그램의 수정이 일어나더라도 전체 소스코드를 다시 컴파일할 필요가 없다. 프로그램이 실행되는 도중에도 JVM은 OS로부터 메모리를 할당받아 스스로 관리한다. 대표적으로 GC(Garbage Collection)이..
Garbage Collector (가비지 컬렉터) 가비지(Garbage)란? 정리되지 않은 메모리 유효하지 않은 메모리 주소. int[] array = new int[3]; array[0] = 1; array[1] = 10; array[2] = 20; //새로운 String 타입의 배열을 만들어서 array가 새로운 배열을 가리키게함. array = new String{'가','나','다','라','마'}; 이때 기존의 array 가 가리키고 있던 int타입의 3칸짜리 배열은 주소를 잃어버려서 사용할수 없는 메모리가 된다.(정리되지 않은 메모리) 이를 자바에서는 가비지(Garbage)라고 부른다. 다른 예시 public class G..