목록Programming/Java (18)
Patrick's 데이터 세상
먼저 정규표현식을 사용하기 위해 import를 합니다. import java.util.regex.*; - Pattern 객체 정규식의 컴파일된 표현 입니다(정규식을 적용 가능하도록 컴파일해서 가지고 있습니다). Pattern 클래스는 공개된 생성자를 제공하지 않습니다. 패턴을 생성하려면 Pattern객체를 반환하는 정적 compile 메소드를 호출해야 합니다. 이 메소드는 첫 번째 인자로 정규식 문자열을 받아 들입니다. - 인자로 주어진 정규식에 매칭되는 값이 있는지 확인하기 위한 메서드 boolean matches(String regex) 예시) import java.util.regex.*; if(Converter.isNullOrBlank(strPrice)==false) { boolean flag = ..
동기식 vs 비동기식 동기식 : 기존 java 언어 비동기식 : webflux, Rsjava ReactiveX 기반 IoC (Inversion of Control) IoC란 ‚제어의 역전‛ 즉, 읶스턴스 생성부터 소멸까지의 읶스턴스 생명주기 관리를 개발자가 아닌 컨테이너가 대신해준다는 뜻임. 즉, 컨테이너 역할을 해주는 프레임워크에게 제어하는 권한을 넘겨서 개발자의 코드가 신경 써야 할 것을 줄이는 전략이다. 프레임워크가 대신 생성해주면 싱글턴임. 개인이 하려면 싱글턴에 대한 설정을 직접해야 함. 프레임워크의 동작원리를 제어흐름이 일반적인 프로그램 흐름과 반대로 동작하므로 IoC 라고 설명함. Spring 컨테이너는 IoC를 지원하며, 메타데이터(XML설정)를 통해 beans를 관리하고 어플리케이션의 중..
■ static 메소드의 정의와 호출 class NumberPrinter { public static void showInt(int ㅜ) { System.out.println(n); } public static void showDouble(double n) { System.out.println(n); } } class ClassMethod { public static void main(String[] args) { NumberPrinter.showInt(20); NumberPrinter np = new NumberPrinter(); np.showDouble(3.15); } } ˙ 실행결과 20 3.15 인스턴스를 사용하지 않아도, static 메소드를 호출할 수 있습니다.
■ static 변수 static 변수는 한 클래스의 모든 인스턴스가 공유하는 static 변수입니다. class InstCnt { static int instNum = 0; public InstCnt() { instNum++; System.out.println("인스턴스 생성 : "+instNum); } } class ClassVar { public static void main(String[] args) { InstCnt cnt1 = new InstCnt(); InstCnt cnt2 = new InstCnt(); InstCnt cnt3 = new InstCnt(); } } · 실행 결과 인스턴스 생성 : 1 인스턴스 생성 : 2 인스턴스 생성 : 3 초기에 static으로 선언된 instNum에서 메..
■ 클래스 이름 규칙 보편적으로 객체지향 프로그래밍 언어에서 선택하는 이름 규칙은 'Camel Case'입니다. · 첫 문자는 대문자로 시작합니다. · 둘 이상의 단어가 묶여서 하나의 이름을 구성할 때, 새로 시작하는 단어는 대문자로 합니다. ■ 메소드와 변수의 이름 규칙 클래스의 이름과 구분짓기 위해 변경된 Camel Case를 적용하는 것이 일반적입니다. · addYourMoney · yourAge ■ 상수 이름 규칙 상수는 변수와 구분되도록 이름을 지어주기 위해서 모든 문자를 대문자로 구성하는 것이 관례입니다. 둘 이상의 단어가 연결이 되어야 하는 경우는 _(언더바)를 사용합니다. · final int COLOR = 7; · final int COLOR_RAINBOW = 7;
■ 객체지향 프로그래밍 자바는 객체지향 프로그래밍을 지향합니다. 객체는 '물건, 또는 대상'을 의미합니다. ■ 객체를 이루는 데이터와 기능 다음 문장을 가정해보겠습니다. · 과일장수는 과일을 팝니다. · 과일장수는 사과 20개, 오렌지 10개를 보유하고 있습니다. · 과일장수의 과일 판매 수익은 50,000원입니다. 이 문장에서 과일장수의 '행동', 과일장수의 '상태'로 구분할 수 있습니다. 이처럼 객체는 하나 이상의 상태 정보(데이터)와 하나 이상의 행동(기능)으로 구성이 되며, 상태 정보는 변수를 통해서 표현되고, 행동은 메소드를 통해 표현됩니다. · 보유하고 있는 사과의 수 → int numOfApple; · 판매 수익 → int myMoney; · 과일장수의 행위인 과일 판매 메소드 int sal..