일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- pseudo-code
- interrupted()
- 구간합구하기
- map()
- ajax
- function test
- 구간합
- jquery
- Java
- 백준
- select
- 백준 11660번
- InterruptException
- @NoArgsConstructor
- 백준 11659번
- MariaDB Query Log
- 합배열
- 마리아DB 쿼리 로그
- 백준 1235번
- json
- 슈더코드
- 상속과 참조
- 자바 람다식
- Bean LifecCycle
- this와 this() 차이
- this
- @AllArgsConstructor
- 생성자
- 2차원배열 구간합
- SQL
- Today
- Total
목록JAVA/기본 개념 (20)
평범한 연구소

인터페이스 (interface) 추상클래스의 한 종류로, 클래스를 위한 템플릿으로서의 기능 수행. 메소드 시그니처와 상수 선언(static, final)만 포함 가능 자바8 부터는 default와 static메소느는 interface 정의에 구현체 가질 수 있음 필드는 상수 선언만 가능 implements 키워드 사용 추상클래스가 아닌 경우 인터페이스를 implements한 클래스는, 해당 인터페이스의 모든 추상메소드를 구현(재정의)해야함. 인터페이스는 다중 상속 가능, extends 키워드 사용. 익명 구현 객체: 구현 클래스의 작성 생략하고 new 수식 있는 곳에서 바로 구현 객체 생성 ex) 인터페이스명 객체 = new 인터페이스명() { // 인터페이스에 선언한 추상 메소드 구현 } 인터페이스의 ..
추상클래스 추상클래스(abstract 클래스)는 선언만 있고 정의가 없는 하나 이상의 추상 메소드를 갖는 클래스. 하위클래스에서 재정의(overriding) 할 것으로 예상되는 메소드에 대해 메모리 낭비 없이 미리 호출 계획을 세워 두기 위해 작성 적어도 하나의 추상메소드를 포함할 때, 해당 클래스명 앞에 abstract 키워드로 명시해야함 final, static과 같이 사용 X 추상메소드를 포함 할 수 있으나 반드시 포함하는 것은 아님, 일반 메소드로 정의 가능. 추상메소드가 없는 추상클래스도 객체 생성 X 독립적으로 존재X, 하위클래스를 가지고 하위클래스를 통해서만 객체 생성 가능. 추상클래스 객체 생성 X. 추상클래스를 상속받은 하위클래스는 추상클래스가 아닌 경우, 반드시 모든 추상 메소드 재정의..

상속 (Inheritance) 상속이란 기존에 정의된 클래스에 메소드와 필드 추가하여 새로운 클래스 만드는 것. 상속을 통해 연관된 일련의 클래스에 대한 공통적인 규약을 정의하고 적용하는데에 실질적인 목적이 있다. 최상위 자바 클래스인 Object 클래스로부터 모든 클래스는 상속받는다. 상속받은 것이 없으면 Object가 부모클래스 is-a, has-a 관계 is-a 상속관계 A클래스가 B클래스 상속 받은 경우, A는 B에 포함되므로 'A는 B이다' 라고 표현 ex) Taxi is a Car has-a 포함관계 하나의 클래스가 다른 클래스의 멤버를 갖고 이용하는 구조 ex) Car has a Handle 하위클래스 다중 상속X. 2개 이상의 클래스 동시에 상속 받지 못함. 상위 클래스(Super clas..
StringBuilder, StringBuffer 가변적인 문자열 처리할 경우 String 클래스 보다 처리 속도가 빠름. 다양한 함수 이용하여 처리한 후 마지막에 String으로 변환하여 사용함. String과 유사한 함수들이 많다. 가변적 문자열이 아닌 경우, String 클래스 사용. 가변적인 문자열 처리는 아래처럼 "+=" 코딩한다면 성능이 매우 저하됨. 문자열은 불변이므로 += 할때마다 주소가 계속 바뀌는 형식. StringBuffer의 append() 사용해야함. String s = "자바"; s += ",스프링"; s += ",오라클"; 아래 코드는 내부적으로 StringBuilder로 처리하므로 성능이 우수함. (문자열 결합) s = "자바" + ",스프링" + ",오라클"; System...
java.lang.String 문자열과 관련된 작업 위한 메소드 제공 자바의 모든 문자열 리터널은 String 클래스의 인스턴스로 구성 final 클래스이므로 상속X. 하위 클래스X. String 인스턴스는 내용 불변. 초기화할 때마다 매번 새로운 객체로 생성됨. String 인스턴스의 문자열이 변경되면 새로운 인스턴스로 생성, 기존 인스턴스는 GC대상. '+' 연산자 이용해서 결합 가능. 이럴 경우에도 새로운 String 인스턴스로 생성됨 '==' 연산자는 문자열 비교가 아닌, 참조 영역 비교. String 관련 예제 equals() 객체에서 ==는 값이 아닌 주소를 비교 Object의 equals(): 주소 비료 String의 equals(): Object의 equals()를 override하여 문자..
정규식 [0-9A-Za-z] == \\w : 영숫자 [대한0-9A-Za-z]: 대,한,숫자,영문자 제외 (한글자 한글자 의미) \\w|대한: 대한과 영숫제 제외 ("대한" 문자열 의미) \\d: 숫자 \\s: 공백(엔터,탭 포함) \\w: 영숫자 \\W: 영숫자 제외 \\d | \\s: 숫자 또는 공백 [0-9]: 0~9사이의 숫자 [0-9A-Za-z]: 대소문자, 숫자 \\w|대한: 영숫자와 "대한" [대한0-9A-Za-z]: '대','한',영숫자 \\d{1,3}: 1~3자 이내의 숫자 ^:시작 $:마지막 +:하나이상 대괄호 안 [^]:부정. ^:시작과 다름. s.replaceAll(a, b): 문자열a를 b로 변경. 정규식 사용 가능. - s1.replaceAll("\\d|\\s", ""): 숫자 또..