JAVA 10

정규표현식

정규 표현식 설명 예제 ^[0-9]*$ 숫자 1234567890 ^[a-zA-Z]*$ 영문자 abcdefg ... ^[가-힣]*$ 한글 가나다라마바사 ... \w+@\w+\.\w+( \.\w+)? E-Mail test@naver.com ^\d{2,3}-\d{3,4}-\d{4}$ 전화번호 02-1234-1234 ^{A-Za-z0-9]{6,12}$ 휴대전화번호 01012341234 \d{2}([0]\d|[1][0-2])([0][1-9]|[1-2]\d|[3][0-1])[-]*[1-4]\d{6} 주민등록번호 990101-1234567 ^\d{3}-\d{2}$ 우편번호 041-23 정규 표현식 테스트 사이트 RegExr (https://regexr.com/)

JAVA 2024.01.25

데이터베이스 01

data 자료 information 정보 Tip) 동기화 ↔ 이원화 계층형 데이터 베이스 : Tree 구조 ≒ 상속 관계 부모 객체가 여러 자식 객체를 가질 순 있지만, 자식 객체가 여러 부모를 가질 수 X 네트워크형 데이터 모델 : graph 구조로 연결, 자식 개체(각각 다른 서버)가 여러 부모를 가질 수 있다 객체 지향형 데이터 모델 : 데이터를 독립된 객체로 구성하고 관리, 상속이나 오버라이드 등의 기능 사용 가능 관계형 데이터 모델 : 관계, 에드거 프랭크 커드가 제안한 관계형 데이터베이스의 바탕 Tip) 객체 지향형 모델 개념을 데이터베이스에 적용하는 것은 쉽지 않지만, 오라클 데이터베이스와 같이 관계형 데이터 모델을 바탕으로 객체 개념을 도입한 객체 관계형 데이터 베이스 object-rela..

JAVA 2024.01.08

제어문

== Control Statement //중괄호 생략된 경우 if(조건식) 실행문1; 실행문2 //true //항상 향상된 for문 String[] names = { "홍길동", "이순신", "강감찬", "김태희", "전지현" }; //for (변수타입 변수명 : 배열명) {}; for (String name : names) { System.out.print(name); } Scanner 사용 시 버그 처리 연달아서 값을 입력 받는 경우, Enter가 중복 처리 되어 넘어가는 것 → 중간에 임시 문자열을 넣어줘서 해결 user = sc.nextLine(); String temp = sc.nextLine(); //엔터 나머지값 처리 evid = sc.nextLine(); 분기문 공통점 차이점 break 반..

JAVA 2023.12.28

연산식

연산식 expressions 피연산자 operand 산술연산 앞 > 뒤 순서 대입연산 뒤 > 앞 순서 + : 부호 유지 - : 부호 변경 문자열 연결 연산자 + 식이 숫자로 시작하면 계산한 다음 문자 결합이 진행 된다. 스택 영역(개체)이 힙 영역(주소)을 참조하기 때문에 값 비교 시 .equals 사용! Tip) 객체: 대문자로 시작, equals 필요! package Ch04; public class OperationExam { public static void main(String[] args) { // + : 부호 유지 - : 부호 변경 int x = 10; int y = 10; System.out.println("==============="); x++; System.out.println("x ..

JAVA 2023.12.28

형변환

Tip char =/= byte: char type은 음수가 없으므로 오류 발생 .MAX_VALUE 와 .MIN_VALUE: Math클래스 (java.lang.package에 포함) double로 형 변환: 연산의 기본형은 int이기 떄문에, 정수와 정수끼리 연산 할 때 최소한 한 개를 실수로 바꿔야 한다!! package ch03; public class CastingExam { public static void main(String[] args) { //강제 타입 변환: 큰 타입 > 작은 타입, 작은타입 변수명 = (작은타입)변수명; int intValue = 123456789; byte byteValue = (byte)intValue; System.out.println(intValue); Syste..

JAVA 2023.12.28

변수

부호 비트 +/- 를 표현하는 비트 literal 코드 내에서 입력된 값 int : 32bit, 21억… long, double(기본형) : 64bit package ch01; //패키지: 클래스를 모아 관리하는 용도 /* * 작성자: 홍길동 * 작성일: 23-11-27(월요일) * 작성회사: 아버지 * 본 프로그램은 테스트용 코드 입니다. */ public class Hello { //클래스: 동작 메소드를 모아놓은 객체 public static void main(String[] args) { //메인 메소드 System.out.println("안녕하세요"); //syso: Ctrl + Space //여러줄 주석 처리: Ctrl + Shift + / } } package ch01; public clas..

JAVA 2023.12.28

추상 클래스와 인터페이스

추상 (abstract) :실체간의 공통되는 특성을 추출한 것 추상 클래스 1. abstract를 사용해 선언 2. 추상 클래스는 new 생성자를 이용해 인스턴스화 할 수 없다. 대신, 자식 객체(실체 클래스)를 통해(extends) 생성 된다. 추상 메서드 실행 블록 { } 이 없다. 인터페이스 : 객체의 사용 설명서, 객체 생성 불가,컴파일러(javac.exe)를 통해 .class형태로 컴파일 되기 때문에 물리적인 형태는 클래스와 동일 //상수 (다양화를 위해 인터페이스는 데이터를 저장할 수 없다 BUT 상수 필드는 정적 필드이므로...) //메서드 (public이 생략되어 있다) 장점 1. 객체의 교환성을 높여준다 2. 객체마다 실행 내용과 리턴값이 달라 코드 변경 없이 코드 다양화 상수 초기값 필..

상속과 다형성

상속 다중 상속 불가 → 인터페이스는 가능! this 객체 자신의 참조 super() 부모 호출 (new랑 비슷) 캡슐화 민감한 정보를 클래스로 묶어 숨긴다 → getter, setter 메서드로 변경/검증 가능! 접근제한자 protected :import시 다른 패키지여도 사용 가능 Method Override : 메서드 재정의 1. 선언부(signature)가 동일해야 한다 2. 접근 제한을 더 강하게 할 수 없다 3. 새로운 예외를 throw 할 수 없다 Tip) Source > Override Methods... > 리턴문만 수정하면 편리 final 최종 상태이므로 final(최종적인)이 붙은 클래스는 재정의 X 다형성 : 자식 타입은 부모 타입으로 자동 타입 변환 가능! 선언하는 타입의 필드와 ..