이것이 Ip 프로토콜의 한계라고 하는데... 왜 IP 프로토콜은 위 한계를 같게 되는지 생각해보자. 보통 Ip 주소는 (우편) 주소로 비유된다. 즉, 255.255.255.0 라는 곳이 서울시 송파구 XXX로 변환이 가능하다는 이야기다. 또한 Ip주소는 서로 통신하기 위해서는 패킷으로 전송되어진다. 패킷이라는 건 종종 택배로 비유된다. (여기에서는 패킷이 어떤것인지는 자세하게 설명하지는 않을 것이다.) - 택배는 도중에 분실 위험이 존재한다. - 택배는 구매한 물품 순서대로 오지 않는다. - 배달부(택배)는 이사와 관련없다.(이들은 단지 배달일을 했을 뿐...) - 받는곳의 주소가 같은 곳이 여러개다. 더 있겠지만... 위와 비교해보면 이렇게 4문장이 나온다. 그런데 우리는 어째서 위 문제점을 격지 못할..
패키지 - 클래스의 묶음 - 클래스 파일을 한곳에 모아두는 역할을 한다. - 디렉토리 개념(폴더) 패키지를 만드는 방법 인텔리제이 기준 : mac => command + n win => alt + insert 특징 1. 패키지를 만들지 않는 상태에서, 클래스를 만들시, 기본 패키지라고 한다. 2. 패키지는 디렉토리처럼 하위 패키지를 만들 수 있다. 3. 다른 패키지에 있을 경우, 동일한 이름의 클래스 파일을 만들 수 있다. - Basic이라는 자바 파일을 계속 만들었다. 4. for,if등 이미 자바에서 사용된 예약어는 패키지로 사용이 불가능하다. import 키워드 다른 패키지에 존재하는 자바 파일을 호출 할 때 사용한다. - import문은 여러개 사용이 가능하다. - 패키지.클래스 형식으로 표현된다..
사진 터미널에 아래를 실행하는 방법으로는 해결 되지 않았다. mvn dependency::tree mvn clean install -U or Right-click on "project" Go to "Maven" >> "Update" 위 방법은 되지 않았다. 해결 방법 org.apache.maven.plugins maven-surefire-plugin 2.19.1 추가 가려진 부분 => 개인 정보
*원래 클래스 파트에서 소개를 해야되는데... 깜빡하고 하지 않해서 상속 파트에서 하게 되었습니다. 색칠된 부분은 상속파트에 밀접적으로 관련된 부분입니다.^^;;😃 시작하기 앞써.. 더보기 자바는 객체지향언어이다. 객체지향은 캡슐화, 추상화, 상속성, 다형성의 특징을 가지고 있다. 상속을 알아보기전에 객체지향의 특징을 하나씩 살펴보도록 하자. 1. 캡슐화(Encapsulation) 캡슐화는 변수와 메소드를 하나의 클래스로 묶는것을 말한다. 마치 편의점에서 파는 도시락과 비슷하다. 그림에서 보는것과 같이 까만색 플라스틱 상자?가 클래스이구 밥과 반찬은 메소드 혹은 변수다. 우리는 개발자이기때문에 코딩을 해보자. public class Lunch { String rice; String SideDish; pu..
클래스 정의하는 방법 클래스란 무엇일까요? 프로그래밍에서 클래스는 설계도를 뜻합니다. 즉, 객체를 생성되기 이전에 만드는 코드라고 생각할 수 있습니다. public class Name {} 기본적인 코드는 위와 같습니다. 처음 클래스를 공부하였을 때, 단순히 위 문장만 입력하면 된다고 생각했습니다. 이는 반은 맞고 반은 틀린 답이었습니다. 틀렸다는 것은 위 코드만 입력한다고 자바 jvm에서 코드를 만들어주지 않기 때문이죠. 그럼 어떻게 해야 할까요? 바로 파일명과 클래스명이 같아야 비로소 클래스를 정의했다고 할 수 있죠. 하지만 걱정 안 하셔도 됩니다. ide에서 파일을 만드는 것만으로도 이 모든 것을 해결할 수 있기 때문이죠. 즉, 그냥 파일만 만들면 된다는 뜻입니다. 그렇다면, 위 코드만 클래스를 만..
배열로 큐 구현하기. public class QueueArr { private int[] arr; private int size; private int cnt; public QueueArr(int size) { this.size = size; arr = new int[size+100]; } public void offer(int data) { arr[cnt] = data; cnt = cnt + 1; } public int poll() { if (cnt queue.poll()); } }
배열로 스택 만들기 코드 public class StackArr { private int size; private int cnt; private int[] stack; public StackArr(int size) { this.size = size; stack = new int[this.size + 100]; } public void push(int data) { for(int i = cnt; i >0;i--) { int temp = stack[i]; stack[i] = stack[i-1]; stack[i-1] = temp; } stack[0] = data; cnt = cnt + 1; } public int pop() { if (cnt stackArr.pop()); } 링크드 리스트로 스택 코드 : pu..
초기 코드 : 너무 지저분하다. public class DashBoard { Map partition = new HashMap(); List partitionRates = new ArrayList(); public void dashBoard() throws IOException { GitHub gitHub = new GitHubBuilder().withOAuthToken(토큰 아이디).build(); GHRepository repository = gitHub.getRepository("whiteship/live-study"); for(int i = 1;i
링크드 리스트는 마치 서로 연결되었다는 느낌을 주는 자료구조입니다. 링크드 리스트는 다음과 같이 그릴 수 있습니다. 특이하게 값뿐만 아니라 다음이 어떤 값인지 알고 있습니다. 단순히 나열하는 ArrayList와 비슷하면서 다른 느낌을 줍니다. 위 그림은 링크드 리스트에 node가 한개일때를 보여줍니다. 그렇다면 3~4개로 늘어나게 되면 어떻게 될까요? 이런식으로 그릴 수 있습니다. 생성 하얀선을 통해 다음값의 값을 알아내는 느낌입니다. 이제 구현해 봅시다. 처음에는 노드는 한개라고 생각해봅시다. public class LinkedList { private Node head; private Node tail; private int size; private class Node { int value; Node..
*백기선의 더자바 애플리케이션을 테스트하는 다양한 방법을 바탕으로 작성 했습니다.! 더 자바, 애플리케이션을 테스트하는 다양한 방법 - 인프런 자바 프로그래밍 언어를 사용하고 있거나 공부하고 있는 학생 또는 개발자라면 반드시 알아야 하는 애플리케이션을 테스트하는 다양한 방법을 학습합니다. 초급 프로그래밍 언어 프레임워크 www.inflearn.com Junit5은 자바의 테스팅 프레임워크 이다. 구성 Junit Platform + Junit Jupiter + JUnit Vintage 으로 구성되어 있다. Junit Platform : TestEngine Api 추상체 , 실행을 위한 런처 제공 Junit Jupiter : Junuit5의 구현체 JUnit Vintage : Junit3,4의 구현체 JUn..
프로그래밍에서 중요하다고 할 수 있는 반복문과 조건문에 대해 학습할 것이다. 반복문 자바에서 기본 반복문으로 3가지가 존재한다, for, while , do- while 3가지의 공통점은 반복을 시킨다는 것입니다. 그런데 어째서 반복문을 3가지로 구분 지었을까요? 1. for for(int i = 0; i< 10;i++) { } for문은 초기화, 범위, 증감값을 작성할 수 있다. 여기서 한가지 이상을 생략할 수 있는데 생략하는 방법은 작성하지 않는 것이다. 그렇다면 for문은 언제 작성할까? Loops in Java | Java For Loop - Javatpoint Loops in Java | Java for loop with java while loop, java for loop, java do-w..
1.