| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
- 삼성sw문제
- 데이터베이스
- 삼성SW테스트
- dp
- 다이나믹 프로그래밍
- 조합
- 금융IT
- dfs
- 백준
- backjoon
- 안드로이드
- 익명객체
- 모바일
- 현대오토에버 코딩테스트
- 프로그래머스
- Java
- 백준 알고리즘
- CKLU
- IT
- 알고리즘
- BFS
- 개발
- 멀티스레드
- 너비탐색
- 네트워크
- 익명클래스
- 재귀함수
- 자바
- Android
- 언더라이터
- Today
- Total
목록Java (14)
Limky 삽질블로그
1. 인터페이스 개념과 역할 인터페이스....이 글하나로 박살내자. (회사에서 존댓말을 많이 쓰기때문에 여기서라도 반말로 글을 써보고 싶음 ㅎ) 인터페이스는 뭘까?? 결론부터 말하면, 극단적으로 동일한 목적 하에 동일한 기능을 수행하게끔 강제하는 것이 바로 인터페이스의 역할이자 개념이다. 조금 더 유식하게 말하면, 자바의 다형성을 극대화하여 개발코드 수정을 줄이고 프로그램 유지보수성을 높이기 위해 인터페이스를 사용한다. 자 이게 무슨말인가? 바로 예시 들어간다. 교수님이 학생들에게 논문을 쓰라고 했다. A학생은 PPT로 논문을 11일날 제출했다. B학생은 EXCEL 2016 로 논문을 12일날 제출했다. C학생은 EXCEL 2019 로 자기만의 색깔을 입혀 표 형식으로 12일날 제출했다. D학생은 메모장..
[JAVA] 자바 추상클래스란? 추상클래스 이 글 하나로 박살내자. 추상클래스의 문법적인 특징이나, 객체생성이 되고 안되고 이런 특징들이 중요한게 아닙니다. 도대체 추상클래스가 무엇이고 왜 사용하는지 본질적인 개념부터 알아야 연쇄적으로 자연스럽게 추상클래스를 이해할 수 있습니다. 왜냐면, 추상클래스의 본질을 이해하는 순간! 문법적인 부분은 외우지 않아도 추상클래스 철학에 맞게 녹아져 있거든요.... 오늘 제 글을 통해, 추상클래스 이해하시길 바랍니다. 그냥..아래 글을 쭉쭉 읽으시면서 자연스럽게 이해해보세요. 자 그럼 시작합니다. 1. 추상클래스가 도대체 뭘까?? (추상클래스 개념) 클래스면 클래스지 추상클래스는 뭘까?? 결론부터 말하면, A클래스, B클래스, C클래스가 있다고 치자 여기서 각 클래스 안..
JAVA 조합,중복조합,순열,중복순열 소스 이번 시간은 JAVA로 조합, 중복조합, 순열, 중복순열을 알아보겠습니다. 기본적으로 4개 모두 재귀호출을 통해 구현할 수 있습니다. 먼저 순열은 순서있게 배열한다는 뜻으로 순서와 상관있습니다. 조합은 순서와 상관없이 뽑는 거에만 집중합니다. 여기서 중복이 붙고 안붙는 차이는 자기자신을 포함하냐 안하냐에 차이입니다. package CASEOFNUMBER; import java.util.LinkedList; import java.util.Scanner; public class CaseOfNumber { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n = sc.ne..
이번시간에는 배열복사에 대해서 알아보겠습니다. 복사엔 깊은복사, 얕은복사 이렇게 2개가 있습니다. 얕은복사는 복사된 배열이나, 원본배열이 변경될 때, 함께 변경됩니다. 깊은복사는 완벽하게 2개의 배열은 따로 존재한 지정한 의미에 복사입니다. 일반적으로 = 연산자는 얕은복사입니다. 얕은복사는 주소값을 복사하기 때문에 주소로 값을 참조하여 값이 변경되면 해당 값을 참조하고 있는 배열들의 값이 변경되는 것이지요.. 하지만, 깊은복사는 주소값을 참조하는것이 아닌, 새로운 메모리공간에 값을 복사하는 것이기 때문에 원본 배열이 변경되어도 복사된 배열에 전혀 상관이 없습니다. 그렇다면 깊은복사를 어떻게 할까요? 1차원배열에 경우 간단하게 array.clone() 함수를 쓰면 됩니다. 하지만 2차원 배열에 경우 arr..
멀티스레드 구현 2번째 시간 일전에 스레드를 만드는 방법 2가지가 있다고 소개했었다. 1. java.lang.thread 클래스를 직접 객체화해서 생성 2. Thread를 상속받아 하위클래스에서 구현하는 방법. 오늘은 두번째 방법인 작업스레드가 Runnable 인터페이스를 구현시켜 만든 Task(작업스레드가 작업할 일)을 따로 구현하지 않고 Thread를 상속받아 하위클래스에서 run()메서드를 오버라이딩해서 구현하는 방법을 소개한다. 간단하다. 아래 코드를 보자. MultiThreadImplement_02 패키지를 보면 WokerThread 클래스는 Thread를 상속받아 run()메서드를 오버라이딩해서 구현했다. package MultiThreadImplement_02; public class Wor..
자바프로그래밍하면 객체지향프로그래밍 OOP(Object Oriented Programming)이라 해도 무방하다. 객체지향프로그래밍의 특성은으로 크게 캡슐화, 추상화, 다형성, 상속성,정도는 명확하게 알고있어야한다. OOP하면 자동으로 4가지(캡슐화,추상화,다형성,상속성)가 떠올라야 한다. 1) 캡슐화 (Encapsulation) 캡슐화란 하나의 객체에 대해 그 객체가 특정한 목적을 위해 필요한 변수나 메소드를 하나로 묶는 것을 의미한다. 따라서 클래스를 우리가 만들 때 훗날 이클래스에서 만들어진 객체가 특정한 목적을 가지고 사용해야할 변수와 그 변수를 가지고 특정한 액션 즉 메서드 또는 함수를 관련성 있게 클래스에 구성해야한다. 예를 들자면, 은행이라는 클래스는 잔고라는 변수가 있고 그 잔고를 조회하거..