자바의신

    자바 기초 다지기 -7 (네트워크, Java7, Java8)

    네트워크 프로그래밍 네트워킹이란? 장비와 장비가 데이터를 주고 받는 작업을 일컫는다 네트워크의 일반적인 레이어 애플리케이션 레이어(HTTP, ftp, telnet. ...) HTTP, ftp, telnet은 모두 TCP 통신을 한다. 트랜스포트 레이어(TCP, UDP, ...) 네트워크 레이어(IP, ....) 링크 레이어(device driver, ...) TCP 통신이란? "연결 기반 프로토콜", 데이터를 수신하는 상대가 데이터를 받았는지 확실히 보장한다. UDP 통신이란? 데이터를 제대로 받았는지 보장 없이 보내기만 한다. TCP와 UDP로 나뉘어 존재하는 이유는? 반드시 모든 데이터가 전송이 보장될 이유가 없고, 필요 없는 상황도 있다. TCP는 UDP에 비해 느리고 비싸다. "포트"란? 16비트..

    자바 기초 다지기 - 6 (Thread, Syncronized, Serializable, IO, NIO)

    Thread와 Runnable Thread는 하나의 프로세스 안에서 여러 개 생성되고 고객이 필요에 따라 이 Thread를 사용하고 작업이 끝날 경우 반납한다고 생각하면 되겠다. Runnable : Thread의 인터페이스 Thread Class: Runnable의 구현체 Thread의 실행 방법 run() 메소드로 구현이 가능하며 start()로 실행이 가능하다. Thread에 주요 메소드 Thread.sleep(1/1000초) : 쓰레드를 잠재운다. Thread.join() : 쓰레드가 끝날 때까지 기다린다. Thread.interrupt() : 쓰레드를 정지 시키고자 할 때 사용하는 메소드로서, 쓰레드가 일시 정지 상태일 경우 에러를 발생시켜 run() 메소드를 정상 종료 시킨다. Thread De..

    자바 기초 다지기 - 5 ( Generic, Collection, Map )

    실수를 방지하도록 도와주는 제네릭 정확히는 타입의 형 변환의 실수를 사전에 방지하도록 만들어졌다 즉, 런타임이 아닌 컴파일 단계에서 잘못되었음을 알 수 있다. @Getter @Setter @Builder @ToString public class TestDTO { private String name; private int age; } public class GenericTest{ public GenericTest(){ List list = List.of(TestDTO.builder().name("이름").age(10).build()); System.out.println(list.toString()); } } Generic 타입의 이름 정하기 규칙 E : 요소 K : 키 N : 숫자 T : 타입 V : 값 ..

    자바 기초 다지기 - 3 (API, Object, 추상, final, Enum, 예외, String)

    자바에서 API란? API (Application Programming Interface ) 애플리케이션에 선언되어 있는 클래스와 메소드에 대한 상세한 설명이 포함된 문서 문서를 자동으로 생성하는 명령어 : javadoc API 왼쪽 위에 제공하는 창 : 패키지 목록 API 왼쪽 아래 제공하는 창 : 클래스 목록 API 우측 본문 : 상세설명 Deprecatied : 더이상 사용하지 않는 레거시 BigDecimal 숫자를 정밀하게 저장,표현하는 클래스 생성자 : 16개 abs() : 절대값 표현 subtract : 빼기 구현 dvide : 나눗셈 모든 자바 클래스의 부모 클래스는 Object다( java.lang.Object ) 모든 클래스는 아무 상속을 받지 않았을 때 자동으로 Object 클래스를 자..

    자바 기초 다지기 - 2 (조건문, 반복문, 배열, 참조자료형, DTO, 상속, 오버라이딩, 오버로딩, 다형성)

    조건문 조건문은 연산자를 통해 boolean을 도출해내고 참/거짓으로 실행 여부를 결정한다. if if( boolean1 ) { // 만약 boolean1을 연산한 결과가 true이면 중괄호 내용을 실행해라... 중괄호 내용; } else if( boolean2 ) { // 만약 boolean1이 false이고 // boolean2를 연산한 결과가 true이면 중괄호 내용을 실행해라... 중괄호 내용; } else { // 위의 모든 조건이 false일 경우 실행해라... 중괄호 내용; } switch 비교 대상 변수가 주어졌을 때, case와 비교하여 같은 경우 처리 문장이 실행된다. break가 없을 경우 다음 case가 이어서 실행되기 때문에 break를 작성해주어야 한다. default는 case..

    자바 기초 다지기 - 1 (클래스, 메소드, 변수, 컴파일, 연산자)

    자바의 단위 Class : 행동과 상태의 집합 Method : Class 안에서 행위(기능)를 구현하는 것을 담당한다 Variable : 변수, 변하는 수라는 의미가 있으며 데이터를 임의의 변수에 저장하여 사용한다 기본적인 선언 구조 public class TestClass{ // ← 클래스 선언 ( 대문자로 작성 ) public String method(){ // ← 메소드 선언 ( 카멜케이스로 작성 ) String data = ""; // ← 변수 선언 // 중간 내용 return data; } } 이러한 자바의 클래스, 메서드를 구동하기 위해서는 프로그램상 어느 한 곳에는 main() 메서드가 선언되어 있어야 구동이 가능하다. public static void main(String[] args){ ..