일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- SpringBoot Initializr
- datatype
- Fluent-bit
- For
- MergeSort
- g1gc
- 연산자
- While
- Algorithm
- Kotlin
- UserDetails
- lambda
- 자료형
- IAC
- zgc
- programmers
- datastructure
- ansible
- Spring Security
- If
- JavaScript
- Sprint Security
- redis
- 기초
- C++
- Java
- jvm
- quicksort
- JPA
- Class
- Today
- Total
목록전체 글 (78)
뭐라도 끄적이는 BLOG
Annotation Annotation은 주석이라는 뜻이다. 하지만 Java의 기본 주석은 "//"또는 "/* */"로 사용해왔다. 이러한 일반 주석과 Annotation의 차이점은 Annotation에선 코드를 작성할 수 있다는 것이다. 코드를 작성할 수 있다는 것은 Annotation으로 뭔가를 할 수 있다는 뜻이 된다. Annotation은 java 1.5에서 등장했다. 기존 자바는 선언적 프로그래밍 방식으로 개발을 하면서 각 계층별 설정 데이터들을 XML에 명시하였다. 이는 서비스의 규모가 클 수록 설정양이 많아지고 도메인 처리의 데이터들이 분산되어 있어 수정이 힘들었다. 이후 Annotation이 등장하면서 데이터 유효성 검사 등 직접 클래스에 명시해 줄 수 있게되어 수정이 필요할 때 쉽게 파악..
enum 정의하는 방법 Enum은 Enumeration의 약자로 열거형 이라고 부른다. public enum Week { MON,TUE,WEN,THU,FRI,SAT,SUN } class나 interface도 상수를 이용하여 같은 용도로 사용할 수 있지만 그런 용도로 사용하라고 만들어진 것이 아니기때문에 Enum을 사용하는 것이 더 좋습니다. public class Enumeration { public static void main(String[] args) { Week week = Week.FRI; switch (week) { case MON: case TUE: case WEN: case THU: case FRI: case SAT: case SUN: default: break; } } } Enum은 sw..
Process와 Thread Thread에대한 공부를 시작하기전에 가장 먼저 알아야될 것은 Process와 Thread가 각각 무엇인지 알아야된다. Process란 간단히 말하면 실행중인 프로그램을 말한다. 운영체제에 의해 메모리 공간을 할당받아 실행 중인 프로그램 프로세스는 프로그램에 사용되는 데이터와 메모리등의 자원을 운영체제에서 할당받게되며 작업을 쓰레드로 구성 프로세스간 자원을 공유하기 위해서는 IPC를 활용해야 한다. Thread란 프로세스에서 실제 작업을 수행하게되는 작업의 단위 모든 프로세스에는 하나 이상의 쓰레드가 존재하여 작업을 수행 두 개 이상의 쓰레드를 가지는 프로세스를 멀티 쓰레드 라고 한다. 쓰레드는 프로세스의 자원을 공유할 수 있다. Thread 클래스와 Runnable 인터페이..
자바에서 예외 처리 방법 (try, catch, throw, throws, finally) try - catch - final 예외를 처리하기 위한 try-catch기본적인 구문으로 구조는 아래와 같다. try { 예외를 처리하길 원하는 실행 코드; } catch (e1) { e1 예외가 발생할 경우에 실행될 코드; } catch (e2) { e2 예외가 발생할 경우에 실행될 코드; } try 블록은 기본적으로 먼저 실행되는 코드로 이곳에서 예외가 발생하면 catch 블록에서 처리하게 된다. catch블록은 try블록에서 발생항 예외 코드나 예외 객체를 인수로 전달받아 그 처리를 담당한다. 위 코드에서 finally문을 추가해서 사용할 수 있다. try { 예외를 처리하길 원하는 실행 코드; } catc..
인터페이스란? 인터페이스는 구체적인 방법을 직접적으로 기술하지 않고 전체적인 모습을 볼 수 있는 설계도라고 할 수 있다. 인터페이스 사용의 이유 개발 기간을 단축 시킬 수 있다. 인터페이스를 사용하면 다른 개발자들이 각각의 부분을 완성할 때까지 기다리지 않고 서로 규약만 정해두어 각자의 부분만 따로 나눠서 작성된 코드를 컴파일 할 수 있다. 클래스간 결합도를 낮출 수 있다. 코드의 종속성을 줄이고 유지보수성을 높이도록 해준다. 표준화가 가능하다. 클래스의 기본틀을 제공하여 개발자들에게 정형화된 개발을 강요할 수 있다. 자바의 다형성을 극대화 하여 코드의 수정을 줄이고 마찬가지로 유지보수성을 높인다. 인터페이스 정의하는 방법 public interface 인터페이스{ public static final 타..
패키지(package) 자바에서 패키지란 클래스와 인터페이스의 집합을 의미한다. 서로 관련이 있는 클래스나 인터페이스를 함께 묶음으로써 파일을 효율적으로 관리할 수 있게 된다. 또한, 협업 시 서로 작업한 클래스 사이에서 발생할 수 있는 이름 충돌 문제까지도 패키지를 이용하면 피할 수 있다. 자바에서 패키지는 하나의 디렉터리를 의미한다. 따라서 하나의 패키지에 속한 클래스나 인터페이스 파일은 모두 해당 패키지 이름의 디렉터리에 포함되어 있다. 패키지는 다른 패키지를 포함할 수 있으며, 이때 디렉터리의 계층 구조는 점(.)으로 구분된다. java.lang.String 위 코드는 자바의 String 클래스는 java.lang 패키지에 속한 클래스라는것을 알 수 있다. 패키지 선언 package 패키지이름; ..
자바 상속의 특징 상속 상속(Inheritance)이란 기존의 클래스에 기능을 추가하거나 재정의한 새로운 클래스를 정의하는 것을 의미한다. 상속을 이용하면 기존에 정의되어 있는 클래스의 모든 필드와 메소드를 물려받아, 새로운 클래스를 생성할 수 있다. 이때 기존에 정의되어 있던 클래스를 부모 클래스(parent class) 또는 상위 클래스(super class), 기초 클래스(base class)라고도 한다. 그리고 상속을 통해 새롭게 작성되는 클래스를 자식 클래스(child class) 또는 하위 클래스(sub class), 파생 클래스(derived class)라고도 한다. class 자식클래스이름 extend 부모클래스이름 { ... } 자식 클래스에는 부모 클래스의 필드와 메소드만이 상속되며, ..
객체지향 객체지향 프로그래밍(Object-Oriented Programming, OOP)은 컴퓨터 프로그래밍의 패러다임 중 하나이다. 객체 지향 프로그래밍은 컴퓨터 프로그램을 명령어의 목록으로 보여주는 절차적인 시각에서 벗어나 여러 개의 독립된 단위인 "객체"들의 모임으로 파악하고자 하는 것이다. 객체지향의 기본 개념은 실 세계의 모든 것은 객체간의 상호작용에 의해 이루어진다는 개념하에 모든 것을 객체로 정의하는 것이다. 객체지향의 개념을 적용하여SW 시스템을 기본 구성이 객체(Object)단위로 구성되며, 객체들이 서로 관계성을 가지는 시스템으로 구성된다. 객체지향의 특징 캡슐화: 객체의 속성(data field)과 행위(methods)를 하나로 묶고 실제 구현 내용 일부를 외부에 감추어 은닉하여 외부..
제어문 제어문은 프로그램의 흐름을 변경하는 구문이다. 즉 프로그램의 연산이 진행되는 순서를 제어문으로 컨트롤 할 수 있다. 이러한 제어문은 조건/선택문, 반복문, 분기문이 있다. 조건문 (Conditional Statement) if 문 괄호안의 조건식을 근거로 구문들의 흐름을 변경한다. 주어진 조건문의 결과가 true이면 해당 블록이 실행되고 false이면 건너 뛴다. if (true or false){ 조건 true 시 실행되는 영역 } else if 구문에서 else 가 주어지면 조건문의 결과가 모두 false일때 else블록이 실행된다. if (true or false){ 조건 true시 실행되는 영역 } else{ 조건 false시 실행되는 영역 } else if else if로 조건을 추가할 ..
산술 연산자 산술 연산자는 대수학에서 사용되는 것과 같은 방식으로 수학 식에 사용된다. Operator Description Example + 양쪽 피연산자를 더합니다. A + B - 양쪽 피연산자를 뺍니다. A - B * 양쪽 피연산자를 곱합니다. A * B / 왼쪽 피연산자를 오른쪽 피연산자로 나눕니다. A / B % 왼쪽 피연산자를 오른쪽 피연산자로 나눈 나머지를 구합니다. A % B ++ 피연산자의 값을 1 증가 시킵니다. A++ -- 피연산자의 값을 1 감소 시킵니다. A-- Example public class Test { public static void main(String args[]) { int a = 10; int b = 20; int c = 25; int d = 25; System...