java
-
Java 개발자라면 한번쯤은 봤을 Static 키워드이다. Static 키워드로 선언된 필드, 메소드, 클래스는 프로그램이 실행될 때 생성 및 초기화가 된다. 즉, 프로그램이 시작될 때 메모리에 올라간다. 메모리에 올라가 같은 주소만을 바라보기 때문에 공유할 수 있어 공유해야 하는 필드에 보통 사용한다. Static 키워드는 필드, 메소드, 클래스에 적용할 수 있다. static 필드 public class Obo { public String name = "obo"; } public class Ok { public static final int number = 123; public static String name = "ok"; } public class Test { System.out.println("..
Static 키워드Java 개발자라면 한번쯤은 봤을 Static 키워드이다. Static 키워드로 선언된 필드, 메소드, 클래스는 프로그램이 실행될 때 생성 및 초기화가 된다. 즉, 프로그램이 시작될 때 메모리에 올라간다. 메모리에 올라가 같은 주소만을 바라보기 때문에 공유할 수 있어 공유해야 하는 필드에 보통 사용한다. Static 키워드는 필드, 메소드, 클래스에 적용할 수 있다. static 필드 public class Obo { public String name = "obo"; } public class Ok { public static final int number = 123; public static String name = "ok"; } public class Test { System.out.println("..
2022.12.14 -
추상클래스추상클래스는 일반 클래스와 별 다를것이 없습니다.추상 메서드를 선언하여 상속을 통해서 자손 클래스에서 완성하도록 하는 유도 클래스입니다.(추상 메서드는 선언부가 있으나 구현부가 없는 메서드를 의미한다.) "미완성 설계도" 라고도 불리우며, 상속을 위한 클래스이기 때문에 따로 객체를 생성할 수 없습니다.class 앞에 abstract 예약어를 선언해 추상클래스라는걸 알려주거나 추상메서드가 포함되어 있으면추상 클래스라고 한다. abstract class 클래스 이름 { ... public abstract void 메서드이름();} 특징추상 클래스는 인스턴스, 객체를 만들 수 없는 클래스입니다.=> new 키워드를 사용해 인스턴스 생성이 불가하다.추상 메소드는 자손 클래스에서 메서드의 구현..
추상클래스와 인터페이스(abstract class, interface)추상클래스추상클래스는 일반 클래스와 별 다를것이 없습니다.추상 메서드를 선언하여 상속을 통해서 자손 클래스에서 완성하도록 하는 유도 클래스입니다.(추상 메서드는 선언부가 있으나 구현부가 없는 메서드를 의미한다.) "미완성 설계도" 라고도 불리우며, 상속을 위한 클래스이기 때문에 따로 객체를 생성할 수 없습니다.class 앞에 abstract 예약어를 선언해 추상클래스라는걸 알려주거나 추상메서드가 포함되어 있으면추상 클래스라고 한다. abstract class 클래스 이름 { ... public abstract void 메서드이름();} 특징추상 클래스는 인스턴스, 객체를 만들 수 없는 클래스입니다.=> new 키워드를 사용해 인스턴스 생성이 불가하다.추상 메소드는 자손 클래스에서 메서드의 구현..
2022.11.10 -
ObjectMapper JSON 형태의 데이터를 String 또는 다른형태로 변환하거나 다른 타입의 json 데이터를 Json 타입의 데이터로 변환할 때 많이 사용한다. 1. Object => String @Getter @Setter public class User { int seq; String name; String number; public User(int seq, String name, String number){ this.seq = seq; this.name = name; this.number = number; } } 위와 같이 User 라는 Object 가 존재한다. 위 Object를 생성하면서 값을 지정하고 String 형 데이터로 변환해본다. ObjectMapper om = new Obje..
Jackson 라이브러리 ObjectMapper(readValue, writeValueAsString)ObjectMapper JSON 형태의 데이터를 String 또는 다른형태로 변환하거나 다른 타입의 json 데이터를 Json 타입의 데이터로 변환할 때 많이 사용한다. 1. Object => String @Getter @Setter public class User { int seq; String name; String number; public User(int seq, String name, String number){ this.seq = seq; this.name = name; this.number = number; } } 위와 같이 User 라는 Object 가 존재한다. 위 Object를 생성하면서 값을 지정하고 String 형 데이터로 변환해본다. ObjectMapper om = new Obje..
2022.09.21 -
빌더 패턴생성과 관련된 디자인 패턴으로, 다양한 구성의 인스턴스를 만드는 방법이다.빌더 패턴은 싱글톤 패턴, 팩토리 패턴, 추상팩토리 패턴과 같이 생성패턴에 해당한다.복잡한 객체를 생성하는 클래스와 표현하는 클래스를 분리하여, 동일한 절차에서도 서로 다른 표현을생성하는 방법을 제공한다.생성자만 사용할 때 발생할 수 있는 문제를 개선하기 위해 고안됐다. 빌더 패턴은 많은 Optional 한 멤버 변수(혹은 파라미터)나 지속성 없는 상태 값들에 대해 처리해야 하는문제들을 해결합니다.즉, 필수값과 필수값이 아닌 값들을 구분하기 위해서 사용한다. 예를들어, 팩토리 패턴이나 추상 팩토리 패턴에서는 생성해야하는 클래스에 대한 속성 값이 많을 때아래와 같은 이슈들이 있습니다.팩토리 클래스로 많은 파라미터를 넘겨줄 때..
Lombok @Builder빌더 패턴생성과 관련된 디자인 패턴으로, 다양한 구성의 인스턴스를 만드는 방법이다.빌더 패턴은 싱글톤 패턴, 팩토리 패턴, 추상팩토리 패턴과 같이 생성패턴에 해당한다.복잡한 객체를 생성하는 클래스와 표현하는 클래스를 분리하여, 동일한 절차에서도 서로 다른 표현을생성하는 방법을 제공한다.생성자만 사용할 때 발생할 수 있는 문제를 개선하기 위해 고안됐다. 빌더 패턴은 많은 Optional 한 멤버 변수(혹은 파라미터)나 지속성 없는 상태 값들에 대해 처리해야 하는문제들을 해결합니다.즉, 필수값과 필수값이 아닌 값들을 구분하기 위해서 사용한다. 예를들어, 팩토리 패턴이나 추상 팩토리 패턴에서는 생성해야하는 클래스에 대한 속성 값이 많을 때아래와 같은 이슈들이 있습니다.팩토리 클래스로 많은 파라미터를 넘겨줄 때..
2022.09.14 -
JAR(Java Archive), WAR(Web Application Archive) 모두 Java의 jar 옵션(java -jar)을 이용하여 생성된압축 파일이며, 어플리케이션을 쉽게 배포하고 동작시킬 수 있도록 관련 파일(리소스, 속성파일 등)들을패키징 해주는 역할이다. JAR (Java Archive).jar 확장자 파일에는 Class와 같은 Java 리소스와 속성 파일, 라이브러리 및 액세서리 파일이 포함되어 있다.쉽게 말해 Java 어플리케이션이 동작할 수 있도록 자바 프로젝트를 압축한 파일이다. 사용처 : Java 라이브러리, 스탠드얼론 Java 애플리케이션, 의존성 패키지 등 보통 jar 는 JAVA 라이브러리를 제공하기 위해 많이 사용한다. .jar 파일은 원하는 구조로 구성이 가능하며 J..
JAR, WAR 차이점 및 특징JAR(Java Archive), WAR(Web Application Archive) 모두 Java의 jar 옵션(java -jar)을 이용하여 생성된압축 파일이며, 어플리케이션을 쉽게 배포하고 동작시킬 수 있도록 관련 파일(리소스, 속성파일 등)들을패키징 해주는 역할이다. JAR (Java Archive).jar 확장자 파일에는 Class와 같은 Java 리소스와 속성 파일, 라이브러리 및 액세서리 파일이 포함되어 있다.쉽게 말해 Java 어플리케이션이 동작할 수 있도록 자바 프로젝트를 압축한 파일이다. 사용처 : Java 라이브러리, 스탠드얼론 Java 애플리케이션, 의존성 패키지 등 보통 jar 는 JAVA 라이브러리를 제공하기 위해 많이 사용한다. .jar 파일은 원하는 구조로 구성이 가능하며 J..
2022.09.13 -
final 키워드 final의 의미는 최종적이라는 뜻을 가지고 있습니다. final 키워드를 사용했을 때 초기화가 되면 최종적인 값이 되어 프로그램 도중에 수정을 할 수 없습니다. final 키워드는 변수, 메서드, 클래스에 사용될 수 있습니다. 또한 변수, 메서드, 클래스 중 어디에 사용하냐에 따라 다른 의미를 가집니다. final 필드 // final 필드 [= 초기값]; final int number = 1; final 필드 타입은 위와 같이 선언하며 final 필드의 초기값을 줄 수 있는 방법은 2가지 있습니다. 첫번째는 위 코드와 같이 선언과 동시에 초기값을 선언하는 방법과 두번째는 생성자를 통해서 초기값을 주는 방법이 있습니다. 보통 단순한 값이라면 final 필드 선언과 동시에 초기값을 주는..
final 키워드final 키워드 final의 의미는 최종적이라는 뜻을 가지고 있습니다. final 키워드를 사용했을 때 초기화가 되면 최종적인 값이 되어 프로그램 도중에 수정을 할 수 없습니다. final 키워드는 변수, 메서드, 클래스에 사용될 수 있습니다. 또한 변수, 메서드, 클래스 중 어디에 사용하냐에 따라 다른 의미를 가집니다. final 필드 // final 필드 [= 초기값]; final int number = 1; final 필드 타입은 위와 같이 선언하며 final 필드의 초기값을 줄 수 있는 방법은 2가지 있습니다. 첫번째는 위 코드와 같이 선언과 동시에 초기값을 선언하는 방법과 두번째는 생성자를 통해서 초기값을 주는 방법이 있습니다. 보통 단순한 값이라면 final 필드 선언과 동시에 초기값을 주는..
2022.05.18