-
WEB APIs TOP NEW
API Application Programming Interface 으로, 운영체제나 프로그래밍 언어가 제공하는 기능을 내가 만들 Application에서 사용할 수 있도록 해당 기능을 제어할 수 있게 만든 인터페이스를 뜻한다. 즉, 응용프로그램, 모바일 애플리케이션 등의 프로그램을 개발할 때 소프트웨어를 구축하고 통합하기 위한 정의 및 프로토콜 세트라 할 수 있다. Web APIs 웹 서버 또는 웹 브라우저를 위한 API, 다양한 클라이언트에서 접근이 가능하도록 설계되어 있다. Web API 는 HTTP 표준 접근 방식을 사용하여 플랫폼 환경 또는 클라이언트 환경에 제한 받지 않고 서비스 구현이 가능... Read More
-
Dom TOP NEW
DOM 작성자: 장예솔 최종 편집 일시: 2023년 8월 1일 오후 5:04 DOM (Document Object Model) 💡 HTML, XML 문서의 프로그래밍 Interface 웹 페이지는 일종의 문서 (Document)이고, DOM은 HTML, XML 문서 내의 모든 요소를 정의하고, 각각의 요소에 접근하는 방법을 제공한다. <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initia... Read More
-
Spring vs Spring Boot TOP NEW
Spring Framework Java 플랫폼을 위한 Application Framework 애플리케이션을 개발하기 위한 모든 기능을 종합적으로 제공하는 애플리케이션 프레임워크 Spring Framework 특징 1) 경량 컨테이너 & IOC (Inversion of Control) 개발자를 대신하여 경량 컨테이너로서 자바 객체를 직접 관리한다.객체 생성, 소멸과 같은 라이프 사이클을 관리하며 필요한 객체를 얻어올 수 있다. 예를들어, 아래와 같은 독립적인 코드를 작성해서 Annotation만 넘겨주면 Container가 개발자가 원하는 상황에 코드를 실행한다. @GetMapping("/greeting"... Read More
-
리스트 TOP NEW
-
배열 TOP NEW
배열 (Array) 같은 타입의 변수들로 이루어진 유한 집합으로, 배열을 구성하는 각가의 값을 배열 요소(element)라고 하며, 배열에서 위치를 가리키는 숫자를 인덱스(index)라 한다. 같은 타입의 변수들로 이루어진 유한 집합이라는 말은, 배열이 선형 자료구조중 하나로 동일한 타입의 연관된 데이터를 메모리에 연속적으로 저장하여 하나의 변수에 묶어서 관리하기 위해 만들어진 자료 구조라는 의미이다. 자바에서 인덱스는 0부터 시작하며, 0을 포함한 양의 정수만을 가질 수 있다. 배열은 같은 종류의 데이터를 많이 다뤄야 하는 경우에 사용하는 가장 기본적인 자료구조로 선언되는 형식에 따라 1차원 배열, 2... Read More
-
복잡도 TOP NEW
복잡도 알고리즘이란 어떤 작업을 수행하기 위해 입력을 받아 원하는 출력을 만들어내는 과정을 기술한 것으로, 어떤 목적을 달성하거나 결과물을 만들어내기 위해 거쳐야 하는 일련의 과정들을 의미한다. 예를들어, 서울에서 부산까지 이동한다 했을 때, 이동 루트는 굉장히 다양한데 자동차 네비게이션 알고리즘의 경우 시간 복잡도가 가장 낮은 알고리즘을 선택하여 출발지와 목적지 두 지점 간의 최단 경로나 최단 시간이 걸리는 경로를 제공한다. 알고리즘의 실행시간 입력값의 크기에 대한 함수 입력값의 크기에 따른 알고리즘의 실행 시간은 입력값의 크기가 늘어나면 실행 시간도 ... Read More
-
JVM TOP NEW
-
Lambda TOP NEW
-
Generic TOP NEW
제네릭 클래스 내부에서 사용할 데이터 타입을 외부에서 지정하는 기법 이렇게 다룰 객체의 타입을 미리 명시해줌으로써 형변환을 하지 않아도 되게 하는 것이다. 제네릭에서는 참조형 타입(reference type) 을 의미하는 기호로 T 를 사용하는데 ‘type’의 첫 글자로 어떠한 참조형 타입도 가능하다는 것을 의미한다. E : element, 요소 (주로 자바 컬렉션에 사용) K : key, 키 V : value, 값 N : 숫자 S, U ,V : 두번째, 세번째, 네번째에 선언된 타입 기호의 종류만 다를 뿐 모두 임의의 참조형 타입을 의미한다. class GenericDemo&l... Read More
-
I/O 입 출력 TOP NEW
I/O 입출력 I/O 는 Input과 Output의 약자로 입력과 출력으로, 컴퓨터 내부 또는 외부의 장치와 프로그램간의 데이터를 주고받는 것을 말한다. 데이터를 입력 받는 것을 Input, 입력받은 데이터를 내보내는 것이 Output이다. Stream / Buffer / Channel 기반의 I/O 스트림 스트림이란 데이터를 운반하는데 사용되는 연결통로로, 물이 위에서 아래로 한쪽 방향으로만 흐르듯, 스트림 역시 단방향통신만 가능하다. (입력과 출력을 동시에 처리 할 수 없음) 먼저 보낸 데이터를 먼저 받게 되는 FIFO(First In First Out) 구조로 되어 있다. 데이터는 bit, c... Read More
-
Annotaion TOP NEW
애노테이션 Java Doc 자바를 개발한 사람들은 소스코드와 문서를 하나의 파일로 관리하기위해, 소스코드의 주석으로 코드에 대한 정보를 저장하고, 그 주석으로부터 HTML 문서를 생성해 내는 프로그램 (javadoc.exe)를 만들어 사용했다. Javadoc을 사용하여 문서화할 클래스, 필드, 메서드, 어노테이터, 인터페이스 등에 주석 및 어노테이션으로 문서를 작성하고 HTML등 다양한 포맷으로 Export 할 수 있다. 장점 표준에 맞춘 주석 작성으로, 구독자 간의 혼동 최소화 코드에 문서를 포함시킬 수 있어 개발과 동시에 쉬운 문서화 가능 ... Read More
-
Enum TOP NEW
Enum 컴퓨터 프로그래밍에서 Enumerated Type(열거형 타입)은 요소, 멤버라 불리는 명명된 값의 집합을 이루는 자료형이다. 열거자 이름들은 일반적으로 해당 언어의 상수 역할을 하는 식별자이다. -wikipedia enum 은 상수 값 멤버들로 집합을 이루는 열거형 타입이다. 상수는 변하지 않는 값으로, 따라서 enum 에는 정수뿐 아니라, 문자열 등 그외 자료형도 정의할 수 있다. JAVA의 enum은 변수, 메소드 및 생성자를 추가할 수도 있다. 주요 목적은 개별적인 데이터 유형 (Enumerate Data Types)을 정의하는 데 있다. Enum 선언은 클래스 ... Read More
-
multi thread TOP NEW
멀티쓰레드 프로그래밍 프로세스(process)란 실행 중인 프로그램(program)이다. 프로그램을 실행하면 OS로부터 실행에 필요한 자원(메모리)을 할당받아 프로세스가 된다. 쓰레드는 프로세스의 자원을 이용해서 실제로 작업을 수행하는 것이 바로 쓰레드이다. (경량 프로세스 LWP, light-weight process 라고도 함) 💡 프로세스 : 운영체제로부터 자원을 할당받은 작업의 단위 💡쓰레드 : 프로세스가 할당받은 자원을 이용하는 실행 흐름의 단위 그래서, 모든 프로세스에는 최소한 하나 이상의 쓰레드가 존재하며, 둘 이상의 쓰레드를 가진 프로세스를 멀티쓰레드 프로세스 (multi-threade... Read More
-
예외처리 TOP NEW
예외처리 (Exception handling) 프로그램이 실행 중 어떤 원인에 의해서 오작동을 하거나 비정상적으로 종료되는 경우에서 이 결과를 초래하는 원인을 프로그램 에러 또는 오류 라고 한다. 이를 발생시점에 따라 ‘컴파일 에러(compile-time error)’ 와 런타임 에러 (runtime error) 로 분류 하는데 자바에서는 runtime 에 발생할 수 있는 프로그램 오류를 ‘에러’ 와 ‘예외’ 두 가지로 구분하였다. 예외처리란 프로그램 실행 시 발생할 수 있는 예외의 발생에 대한 코드를 작성하는 것으로 그 목적은 프로그램의 비정상 종료를 막고 정상적인 실행상태를 유지하는 것에 있다. 에러 (... Read More
-
Interface TOP NEW
-
Package TOP NEW
패키지 *.java 구성 1. package문 2. import문 3. 클래스 선언 package 패키지는 클래스(인터페이스 포함)의 묶음이다. 서로 관련된 클래스들끼리 그룹 단위로 묶어 놓아 클래스를 효율적으로 관리할 수 있다. (패키지는 물리적인 디렉토리임) 서로 다른 패키지에 있다면 같은 이름의 클래스를 사용하는 것이 가능하다. 클래스의 실제 이름 즉, full name 은 패키지명 + 클래스이름 이다. 예를들어, String 클래스의 full name은 java.lang.String 이다. 💡 하나의 소스파일에는 첫 번째 문장으로 단 한 번의 패키지 선언만을 허용한다. 💡 모든 클래스는... Read More
-
Class TOP NEW
클래스 클래스는 ‘객체를 정의해 놓은 것’ 또는 ‘객체의 설계도 또는 틀’ 이라 할 수 있다. 그렇다면 객체란 무엇인가. 객체란, ‘ 누구누구의 입장에서 누구를 구성하는 요소’로, 예를 들면 사람의 입장에서 눈, 코, 입 또는 노트북의 입장에서 CPU, RAM 등을 지칭한다. 단, 사람의 입장에서 CPU, RAM은 객체가 아니다. 이러한 것을 객체라 하는데 프로그래밍 상에서 객체는 클래스에 정의된 내용대로 메모리에 생성된 것을 뜻한다. 설계도를 보면 제품을 만드는 일이 쉬워 지듯이 마찬가지로 클래스를 한번 잘 만들어 놓기만 하면 클래스에서 객체를 생성해서 사용하기만 하면 된다. JDK(Java Devel... Read More
-
Inheritance TOP NEW
상속 (Inheritance) 기존의 클래스를 재사용하여 새로운 클래스를 작성하는 것으로 extends 키워드를 사용하여 상속 관계를 만들 수 있다. class Child extends Parent { // ... } 위와 같은 상속관계에 있을 때 Child 클래스를 자식클래스, 하위(sub)클래스, 파생된(derived)클래스라 칭하고 Parent 클래스를 부모클래스, 상위(super)클래스, 기반(base)클래스라 표현한다. 하위클래스는 상위클래스의 모든 멤버를 상속받는데 만약, 상위클래스에 멤버변수가 추가된다면 하위클래스도 자동적으로 상위클래스에서 추가한 멤버변수가 추가된다. 예를들어, ... Read More
-
제어문 TOP NEW
-
연산자 TOP NEW
연산자 (Operator) 산술연산자 Binary Operator(이항) 덧셈 (Addition, + ) 피연산자 중 하나가 문자열이면 다른 피연산자는 문자열로 변환되어 수행됨 System.out.println("Total: " + 3 + 4); // Total: 34 System.out.println("Total: " + (3 + 4)); // Total: 7 뺄셈 (Subtraction, - ) 곱셈 (Multiplication, * ) 나눗셈 (Division, / ) 결과는 integer, 값을 잃을 ... Read More