Java/Spring
-
오버로딩(Overloading) 같은 이름의 메서드를 여러개 생성하지만 매개변수의 개수 또는 매개변수의 타입이 다르면 정의할 수 있다. class OverloadingTest { public static void main(String[] args){ OverloadingTestMethod otm = new OverloadingTestMethod(); otm.print("오버로딩 테스트"); System.out.println(otm.print(3)); otm.print("오버로딩 테스트", 4); } } class OverloadingTestMethod { void print(String a){ System.out.println("문자열 오버로딩"); } String print(int a){ System...
오버로딩(Overloading), 오버라이딩(Overriding)오버로딩(Overloading) 같은 이름의 메서드를 여러개 생성하지만 매개변수의 개수 또는 매개변수의 타입이 다르면 정의할 수 있다. class OverloadingTest { public static void main(String[] args){ OverloadingTestMethod otm = new OverloadingTestMethod(); otm.print("오버로딩 테스트"); System.out.println(otm.print(3)); otm.print("오버로딩 테스트", 4); } } class OverloadingTestMethod { void print(String a){ System.out.println("문자열 오버로딩"); } String print(int a){ System...
2021.12.06 -
BOM(Byte Order Mark) BOM 이란 문서의 맨 앞부분에 눈에 보이지 않는 특정 바이트(Byte)를 넣은 다음 해당 문서의 인코딩 방식이 어떠한 인코딩 방식으로 사용되었는지 알아내는 방법을 나타낸다. BOM은 텍스트 에디터 화면에서는 보이지 않고, 헥사 에디터(Hex Editor)로 열었을때만 보인다. BOM의 종류 인코딩 방식 BOM(Byte Order Mark) UTF-8 EF BB BF UTF-16 Big Endian FE FF UTF-16 Little Endian FF FE UTF-32 Big Endian 00 00 FE FF UTF-32 Little Endian FF FE 00 00 Java 로 예를 들면 간단한 csv 파일을 만들때 text가 깨지는 경우가 있다. 이때 사용한다. ..
바이트 순서 표시(BOM, Byte Order Mark)BOM(Byte Order Mark) BOM 이란 문서의 맨 앞부분에 눈에 보이지 않는 특정 바이트(Byte)를 넣은 다음 해당 문서의 인코딩 방식이 어떠한 인코딩 방식으로 사용되었는지 알아내는 방법을 나타낸다. BOM은 텍스트 에디터 화면에서는 보이지 않고, 헥사 에디터(Hex Editor)로 열었을때만 보인다. BOM의 종류 인코딩 방식 BOM(Byte Order Mark) UTF-8 EF BB BF UTF-16 Big Endian FE FF UTF-16 Little Endian FF FE UTF-32 Big Endian 00 00 FE FF UTF-32 Little Endian FF FE 00 00 Java 로 예를 들면 간단한 csv 파일을 만들때 text가 깨지는 경우가 있다. 이때 사용한다. ..
2021.12.02 -
RSA 암호화 공개키 암호시스템 중 한개, 암호화 뿐만 아니라 전자서명도 가능한 최초의 알고리즘으로 알려진다. RSA는 두개의 키를 사용한다. 공개키와 개인키를 사용하는데 공개키는 평문을 암호화 하는데 사용하고 개인키는 암호화한 데이터를 복호화할때 사용한다. 이를 비대칭키라고 하며 누구나 어떤 메시지를 암호화 할수 있지만 암호화한 데이터는 개인키를 가지고 있는 사람만 복호화 할 수 있다. 일반적으로 공개키는 n 과 e 값으로 구성되어 있습니다. n 값은 Modulus 이며 e 값은 Public exponent 값입니다. 개인키는 기본적으로 n, e, d, p, q, exponent1, exponent2, coefficient 값을 갖습니다. 여기서 가장 필요한 값은 d 입니다. 개인키의 각 값은 공개키의..
RSA 암호화 만들기RSA 암호화 공개키 암호시스템 중 한개, 암호화 뿐만 아니라 전자서명도 가능한 최초의 알고리즘으로 알려진다. RSA는 두개의 키를 사용한다. 공개키와 개인키를 사용하는데 공개키는 평문을 암호화 하는데 사용하고 개인키는 암호화한 데이터를 복호화할때 사용한다. 이를 비대칭키라고 하며 누구나 어떤 메시지를 암호화 할수 있지만 암호화한 데이터는 개인키를 가지고 있는 사람만 복호화 할 수 있다. 일반적으로 공개키는 n 과 e 값으로 구성되어 있습니다. n 값은 Modulus 이며 e 값은 Public exponent 값입니다. 개인키는 기본적으로 n, e, d, p, q, exponent1, exponent2, coefficient 값을 갖습니다. 여기서 가장 필요한 값은 d 입니다. 개인키의 각 값은 공개키의..
2021.10.20 -
스프링 빈(Spring Bean)Spring IOC 컨테이너가 관리하는 자바 객체를 빈이라고 부른다. 이전 글에서 제어의 역전(IOC, Inversion Of Control)에 대해 알아봤는데 간단하게 설명하겠습니다.예전의 자바 프로그래밍에서는 Class를 생성하고 new 키워드를 이용하여 객체를 생성한 후 사용했습니다.하지만 Spring에서는 직접 new 키워드를 이용하여 객체를 생성하는게 아닌 Spring에 의하여 관리당하는 자바 객체를 사용한다. 이렇게 Spring에 의해 생성되고 관리되는 자바 객체를 Bean이라고 한다. * 제어의 역전(IOC, Inversion Of Control)일반적으로 에전 자바 프로그래밍에서는 객체들이 프로그램의 흐름을 결정하고, 각 객체를 직접 사용자가 생성하고 조작..
스프링 빈(Spring Bean)이란?스프링 빈(Spring Bean)Spring IOC 컨테이너가 관리하는 자바 객체를 빈이라고 부른다. 이전 글에서 제어의 역전(IOC, Inversion Of Control)에 대해 알아봤는데 간단하게 설명하겠습니다.예전의 자바 프로그래밍에서는 Class를 생성하고 new 키워드를 이용하여 객체를 생성한 후 사용했습니다.하지만 Spring에서는 직접 new 키워드를 이용하여 객체를 생성하는게 아닌 Spring에 의하여 관리당하는 자바 객체를 사용한다. 이렇게 Spring에 의해 생성되고 관리되는 자바 객체를 Bean이라고 한다. * 제어의 역전(IOC, Inversion Of Control)일반적으로 에전 자바 프로그래밍에서는 객체들이 프로그램의 흐름을 결정하고, 각 객체를 직접 사용자가 생성하고 조작..
2021.10.18 -
제어의 역전(IOC, Inversion Of Control) 제어의 역전이란 메소드나 객체의 호출작업을 개발자가 결정하는게 아닌 외부에서 결정되는 것을 의미한다. 쉽게 말해 객체의 제어권을 IOC 컨테이너에게 넘겨주어 객체의 생성부터 생명주기의 관리까지 객체에 대한 제어권이 바뀐것을 IOC라고 한다. IOC를 사용하지 않는 경우 - new 방식을 써서 객체를 필요할때마다 생성한다. //Test 객체 class Test{ String name; public void setName(String name){ this.name = name; } public String getName(){ return name; } } //main public static void main(String[] args){ //IOC..
Spring Web Framework(IOC, DI)제어의 역전(IOC, Inversion Of Control) 제어의 역전이란 메소드나 객체의 호출작업을 개발자가 결정하는게 아닌 외부에서 결정되는 것을 의미한다. 쉽게 말해 객체의 제어권을 IOC 컨테이너에게 넘겨주어 객체의 생성부터 생명주기의 관리까지 객체에 대한 제어권이 바뀐것을 IOC라고 한다. IOC를 사용하지 않는 경우 - new 방식을 써서 객체를 필요할때마다 생성한다. //Test 객체 class Test{ String name; public void setName(String name){ this.name = name; } public String getName(){ return name; } } //main public static void main(String[] args){ //IOC..
2021.10.18 -
@Configuration + @Bean @Configuration + @Bean 어노테이션을 사용하는 이유는 아래와 같다. 라이브러리, 내부 클래스 등 개발자가 직접 제어 불가능한 클래스를 Bean 등록할때 사용한다. 다형성을 활용하여 여러 구현체를 Bean 등록 해야할때 사용한다. @Configuration 어노테이션이 존재 하는곳에 @Bean 어노테이션을 사용해 여러개의 구현체를 Spring Bean 으로 등록할 수 있다. @Bean 어노테이션은 반드시 @Configuration 어노테이션과 함께 사용해야 한다고 하는데 이유는 아래와 같다. @Configuration 과 @Bean 어노테이션을 함께 사용해야 하는 이유 @Configuration 과 @Bean 어노테이션을 함께 쓰라고 강조하는 이유는..
@Bean+@Configuration, @Component 어노테이션@Configuration + @Bean @Configuration + @Bean 어노테이션을 사용하는 이유는 아래와 같다. 라이브러리, 내부 클래스 등 개발자가 직접 제어 불가능한 클래스를 Bean 등록할때 사용한다. 다형성을 활용하여 여러 구현체를 Bean 등록 해야할때 사용한다. @Configuration 어노테이션이 존재 하는곳에 @Bean 어노테이션을 사용해 여러개의 구현체를 Spring Bean 으로 등록할 수 있다. @Bean 어노테이션은 반드시 @Configuration 어노테이션과 함께 사용해야 한다고 하는데 이유는 아래와 같다. @Configuration 과 @Bean 어노테이션을 함께 사용해야 하는 이유 @Configuration 과 @Bean 어노테이션을 함께 쓰라고 강조하는 이유는..
2021.10.18