JAVA 70

[JAVA] 데이터입출력 (스트림)

데이터입출력 (스트림) 자바(프로그래밍언어)는 입력스트림, 출력스트림을 통해 데이터를 입출력함. 스트림 : 단방향으로 데이터가 흘러가는 형태 다양한 입출력 장치에 의해 입출력이 이루어짐 다양한 장치에 독립적으로 일관성있는 입출력을 유지하기위해 → 입출력 스트림을 통해 일관성을 제공 두 가지 형태의 스트림 구분 (바이트/문자) : (한글 가 = 2바이트, 영어 a = 1바이트) 바이트 형태의 스트림 : 기본형 (문자, 그림, 멀티미디어) 입력 : InputStream : fileInputStream, ButteredInputStream, DataInputStream 출력 : OutputStream : fileOutputStream, ButteredOutputStream, DataOutputStream 문자..

JAVA/java 공부 2023.09.12

[JAVA] StringBuffer / StringBuilder 문자열 추가/변경 객체

StringBuffer 문자열 추가/변경 객체: 문자열을 추가하거나, 변경할 때 주로 사용하는 객체 1.  사용String 객체 : 문자열을 표현append() : 문자열 추가 끝에 추가insert(index,””) : 특정 위치에 문자열 추가substring(a,b) : 문자열 추출= a번지부터 b-1번지까지 추출 2.  출력 : toString()이용StringBuffer sb = new StringBuffer();System.out.println(sb.toString());System.out.println(sb.substring(0, 4)); //0~3번지까지 출력String result = sb.toString();System.out.println(result); 3.  StringBuffer  ..

JAVA/java 공부 2023.09.12

[JAVA] RegularExpression 정규표현식

RegularExpression 정규표현식 : 문자열에서 특정 패턴을 찾거나 교체, 삭제 등 문자열을 원하는 형태로 편집하는 기능 문자의 형식을 검증하는 형태 사용 예시 : 전화번호, 비밀번호 정규표현식 문법 [a-zA-Z] 대소문자 중 1개 \d 숫자 = [0-9]와 동일 \w 알파벳이나 숫자 1개=[a-zA-Z0-9]과동일 . 모든 문자 중 임의의 한 문자 ? 문자가 0번 =없음 or 1개 문자가 0번 이상 발생 {3,} : 3자리 이상 예 ) (02|010) - \d{3,4} - \d{4} => 010-111-1111 02-111-1111 ! 사용 Pattern 클래스의 메소드 compile(String regex); 주어진 정규표현식으로 패턴을 생성 matcher(CharSequence input..

JAVA/java 공부 2023.09.12

[JAVA] 제네릭 : 결정되지 않은 파라미터를 처리

제네릭 : 결정되지 않은 파라미터를 처리할때 실제 객체를 사용할 때 파라미터 타입을 결정 대체 menu, price public class Sale { //멤버변수 선언 menu, price //private String menu; private K menu; private V price; public Sale() {} //public Sale(String menu, Integer price) {this.} public Sale(K menu, V price) {} public K getMenu() { return menu; } public void setMenu(K menu) { this.menu = menu; } public V getPrice() { return price; } public void ..

JAVA/java 공부 2023.09.12

[JAVA] 예외 처리 exception

Exception : 예외 처리 : 실행 시 발생할 수 있는 예외를 처리하여 정상 처리로 유지시키는 기능 1. 구조 try-catch-finally (finally는 선택사용) .printStackTrace(); 오류(예외)가 어디에서 발생하는지 알려주는 역할 double res =0; int num = 10; int num1 =0; try { //예외가 발생할 수 있는 구문 int sum=num1 + num; System.out.println("sum => " + sum); res = num / num1; System.out.println(res); //오류 } catch (Exception e) { //예외가 발생할 경우 처리하는 실행문 System.out.println("0으로 나누었습니다. Exc..

JAVA/java 공부 2023.09.12

[JAVA] 내부 class, 익명 class

1. 내부 class ( = 중첩클래스 ) 클래스 내부에 선언한 클래스 내부클래스를 포함한 외부클래스와 밀접한 연관이 있고, 다른 외부에서 내부클래스를 사용할 일이 없는 경우 사용 -> private 사용 권장 인스턴스 내부클래스, 정적(static) 클래스, 지역(local) 내부클래스, 익명(anonymous)로 선언하기도 함 익명클래스를 사용하기 위해 내부클래스를 자주 사용 내부적으로 사용할 목적으로 만드는 클래스이기 때문에 private로 선언하는 것을 권장 내부 클래스 생성시기 : 외부클래스가 생성된 후 생성됨 (단, static 예외) 내부클래스가 private가 아닌경우, 타 외부 클래스에서 가져가서 생성, 이용 가능 public class 내부클래스 { public static void m..

JAVA/java 공부 2023.09.12

[JAVA] BigDecimal 정확한 실수 표현

BigDecimal : java에서 숫자를 정밀하게 저장/표현하기 위한 클래스 사용 : 돈, 소수점 등 정밀한 계산 사용 시 이용 단점 : 느린 속도 public class BigDecimalEx { public static void main(String[] args) { // BigDecimal : java에서 숫자를 정밀하게 저장/표현하기 위한 클래스 // 돈, 소수점 정밀한 계산이 필요한 경우는 필수 // 단점. 느린속도 //값을 초기화 하기 위해서는 문자열로 값을 넘겨줘야 함. BigDecimal db = new BigDecimal("1000.1234"); BigDecimal db1 = new BigDecimal("1000.1234"); BigDecimal db2 = new BigDecimal("..

JAVA/java 공부 2023.03.26

[JAVA] 추상메서드 / 추상클래스

추상메서드 : 메서드의 선언부만 있고, 구현은 없는 메서드 추상클래스: 추상메서드 + 일반메서드 + 멤버변수 + 상수(final) 미완성 클래스라 객체를 생성할 수 없음 ✔ abstract : 이는 미완성이니 객체가 없어도 오류x 위치 : 클래스 or 메서드의 앞 사용 방법 abstract 리턴타입 메서드명 (매개변수); 사용하는 경우 부모 클래스에서 상속받았을 경우, 특정메서드가 자식 클래스에 자주 오버라이딩될때 → 해당메서드를 추상 메서드로 작성 ⭐ 상속을 받은 클래스 ⇒ 추상메서드가 있다면 반드시 구현해야 함! public class 추상클래스01 { public static void main(String[] args) { Dog d =new Dog("멍멍이","개과"); d.printInfo();..

JAVA/java 공부 2023.03.26

[JAVA] interface 인터페이스

인터페이스 interface : 메서드를 쫘아악 나열해놓은 것 = 메뉴얼화 해놓은 것 (일반적으로 협업에서 사용) 인터페이스 : 상수와 추상메서드만으로 구성 ✔ 키워드 : interface 기능요약서 자체적으로는 사용이 불가능, 인터페이스를 구현한 클래스로 활용 ✔ 구현 키워드: implements 인터페이스는 멤버변수x (항상 이부분을 염두에 두고 메서드 정리!) interface Power{ abstract void turnOn(); //어차피 기능구현이 안되므로 abstract를 넣어도, 안넣어도 상관x abstract void turnOff(); } interface Remocon{ void chUP(); void chDown(); } class Tv implements Power, Remocon..

JAVA/java 공부 2023.03.26