일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- taint
- pytest
- PytestPluginManager
- preemption #
- 개성국밥
- RouteLocator
- 코루틴 컨텍스트
- 겨울 부산
- JanusWebRTCServer
- addhooks
- table not found
- vfr video
- terminal
- ErrorResponse
- Value too long for column
- Spring Batch
- tolerated
- JanusWebRTC
- gitflow-shFlags
- mp4fpsmod
- JanusWebRTCGateway
- python
- VARCHAR (1)
- 달인막창
- JanusGateway
- 코루틴 빌더
- 깡돼후
- 자원부족
- PersistenceContext
- kotlin
목록Programming Language/Java (15)
너와 나의 스토리
어노테이션(Annotation)이란? 어노테이션은 메타데이터(metadata)라고 볼 수 있다. 메타데이터: 애플리케이션이 처리해야 할 데이터가 아니라, 컴파일 과정과 실행 과정에서 코드를 어떻게 컴파일하고 처리할 것인지를 알려주는 정보. 어노테이션의 세 가지 용도 컴파일러에게 코드 문법 에러를 체크하도록 정보를 제공 예: @Override 소프트웨어 개발 툴이 빌드나 배치 시 코드를 자동으로 생성할 수 있도록 정보를 제공 실행 시(런타임 시) 특정 기능을 실행하도록 정보를 제공 어노테이션을 정의하고 적용해보기 정의: @interface를 사용해서 정의 public @interface AnnotationName { } 이렇게 정의한 어노테이션은 다른 곳에서 '@AnnotationName' 형태로 사용할 ..
싱글톤(Singleton) 하나의 클래스로부터 전체 프로그램에서 단 하나의 객체만 만들도록 보장해야 하는 경우가 있다. 이때, 유일하게 생성된 이 객체를 싱글톤이라고 한다. 싱글톤을 만들려면 클래스 외부에서 new 연산자로 생성자를 호출할 수 없도록 막아야 한다. 방법: 생성자 앞에 private을 붙이면 된다. 그렇다면 객체 한 번은 어떻게 생성하는가? 클래스 내에 해당 클래스 타입을 가지는 static field를 선언 및 초기화해준다. 이 static field를 리턴하는 static method를 생성한다. 예: public class ClassName { private static ClassName singleton = new ClassName(); private className(){} sta..
Static Block Static field는 보통 선언과 동시에 초기값을 준다. 예: static double pi = 3.14159; 하지만 초기값으로 주려는 값이 복잡한 계산이 필요한 경우가 있다. 예: info public class Television { static String company = "Samsung"; static String model = "LCD"; static String info = company + '-' + model; } 이런 경우 static block에서 초기화를 진행할 수 있다. Static block은 클래스가 메모리로 로딩될 때 자동적으로 실행된다. public class Television { static String company = "Samsung"; ..
자바의 데이터 타입 Primitive type(원시 타입) 정수, 실수, 문자열, 논리 리터럴을 저장하는 타입. 실제 값을 변수 안에 저장. Reference type(참조 타입) 객체(Object)의 번지를 참조하는 타입. 배열, 열거, 클래스, 인터페이스 타입을 말한다. 메모리의 번지를 값으로 변수에 저장. 변수는 stack 영역에 생성되고, 객체는 heap 영역에 생성된다. 참조 타입 변수는 heap 영역에 저장된 객체의 주소를 갖는 것. 메모리 사용 영역: JVM이 사용하는 메모리 영역 java.exe로 JVM이 시작되면 JVM은 운영체제에서 할당받은 메모리 영역(Runtime Data Area)을 사용한다. 이 메모리 영역을 다음과 같이 세부 영역으로 구분해서 사용한다. 메소드 영역(Method..
1. if문 if(조건식){ // ... } else { // ... } 2. switch문 public class SwitchExample { int num = (int)(Math.random()*4) + 1; switch(num){ case 1: // ... break; case 2: // ... break; case 3: // ... break; default: // ... break; } } Math.random(): [0.0, 1.0] 사이에 속하는 double 타입의 난수를 리턴한다. switch(변수)의 변수에 해당하는 case가 실행되고, 변수 값이 case에 없으면 default 부분이 실행된다. break;를 작성해주지 않으면 해당 case부터 하위 코드가 모두 실행된다. 3. for문..
변수란? 변수는 하나의 값을 저장할 수 있는 메모리 공간의 의미한다. 변수값 저장 int score = 90; 위의 예시처럼 변수를 선언함과 동시에 초기값을 줄 수 있다. 이런 식으로 소스 코드 내에서 직접 입력된 값을 '리터럴(literal)'이라고 부른다. 정수 리터럴 10진수: 소수점이 없는 정수 리터럴 8진수: 0으로 시작하는 리터럴 ex) 02, -04 16진수: 0x또는 0X로 시작하고 숫자와 A, B, C, D, E, F(대소문자 상관 x)로 구성됨 ex) 0x5, 0x4A 실수 리터럴 알파벳 E(e)가 있는 리터럴은 10진수 지수와 가수로 간주한다. 예: 5E7 -> 5 x $10^7$ 예: 0.12E-5 -> 0.12 x ${10}^{-5}$ 데이터 타입 Primitive Type 값의 ..
"이것이 자바다"라는 책을 읽으며 JAVA를 기초부터 정리해 보려고 합니다. 자바란? 자바는 오크(Oak)라는 언어에서부터 시작되었다. 이후 인터넷의 등장과 함께 인터넷에서 실행되는 프로그래밍 언어로 사용되었고, 이름도 자바로 변경되었다. 지금의 자바는 스마트폰을 비롯해서 각종 장비와 데스크톱에서 실행되는 애플리케이션, 그리고 금융, 공공, 대기업 등의 엔터프라이즈 기업 환경에서 실행되는 서버 애플리케이션을 개발하는 중추적인 언어로 자리매김하고 있다. 자바의 특징 이식성이 높은 언어이다. 이식성: 서로 다른 실행 환경을 가진 시슽템 간에 프로그램을 옮겨 실행할 수 있는 것을 말함. 예를 들어, 윈도우에서 실행하는 프로그램을 리눅스 또는 유닉스에서 실행할 수 있는 것 -> 이식성이 높음 객체 지향 언어이다..