클래스 4대 특징 시험문제!!
은닉화(캡슐화), 다형성, 추상화, 상속성
다형성이 제일 중요하다
ppt 9번까지 나간후에 이론시험칠 예정
- java.lang.String 클래스
배열의 특징 : 한번 생성하면 크기를 변경할 수 없다.
한번 생성된 인스턴스는 편집 개념이 아니라 새로운 내용을 추가한 새로운 메모리를 생성한다.
- java.lang.String 클래스의 주요 메서드
6. 표준 API의 기본클래스 활용.ppt (6)
boolean equals(Object anObject : 두 string 클래스 내용이 같은지를 비교한다.
boolean equalsIgnoreCase(Object anObject : String을 비교할때 대소문자를 비교하지않는다.
String substring(int beginIndex) : 지정 위치 뒤로 모두가져온다, 매게변수를 두개줄경우 시작과 끝을 지정해준다.
String concat(String str) : 주어진 문자열을 합친다. 보통 "+"를 쓴다.
String replace(char oldChar, char newChar) : 기존의 oldChar를 NewChar로 바꾼다. 값이 같으면 모두 바뀐다.
String toLowerCase() : 모든문자를 소문자로
String toUpperCase() : 모든문자를 대문자로
char charAt(int index) : index로 지정된 곳의 문가밧을 변환한다.
int indexOf(int ch) : 주어진 문자가 존재하는 위치를 알려주고 없으면 -1을 돌려준다.
주민등록번호 처리 연습 : 사용자가 입력을 잘못했을경우를 가정하여 "-" + 1 의 위치로 성별을 구분한다.
int lastIndexOf(int ch) : 주어진 문자가 존재하는 마지막위치를 알려준다.
String trim() : 문자열의 시작과 끝 사이에 있는 공백을 없앤다. 중간 공백이 아닌 앞뒤 공백만 지워준다.
static String valueOf(Object obj) : 주어진 객체나 기본 데이터형을 문자열로 형변환하여 반환한다.
- java.lang.StringBuffer 클래스
자체 편집이 가능한 "문자열" 처리와 관련도니 기능을 제공하는 클래스
명시적 생성만 된다.
StringBuffer append(String str) : str로 주어진 문자열을 스트링 버퍼의 맨 마지막에 추가한다. 자기 자신을 리턴한다. 체인기법을 사용할 수 있다.
StringBuffer inser(int offset, String str) : 지정된 위치에 문자열을 추가한다.
StringBuffer delete(int start, int end) : start ~ end-1의 문자를 지운다
StringBuffer replace(int start, int end, String str) : start ~ end -1 을 지우고 대신 문자열을 넣는다.
StringBuffer reverse() : 문자열의 순서를 뒤집는다.
CRUD 작업을 하기 쉽도록 API를 제공
- java.util.String.Tokenizer 클래스(11)
하나의 "문자열"을 여러개의 문자열로 분리한느데 사용할 수 있도록 제공된느 유틸리티 클래스
나누는 단위가 되는 문자열을 토큰이라고 한다.
토큰 분리자를 생략하면 공백, 지정하면 지정된 문자이다.
- 래퍼 (Wrapper : 포장)클래스
기본 데이터 타입을 객체로 포장하여 다양한 기능을 사용할 수 있도록 하는 래퍼클래스를 제공한다.
기본 8개 + String(비공식)
- java.lang.Boolean 클래스(14)
생성자 메게변수로 문자열도 받을수있다. 알아서 bool으로 변환
생성자 < - > "타입명"Value() : 클래스의 객체화와 기본형으로 바꿔서 상대적이다.
기본 타입과 객체 타입간의 형변환을 위해 존재(주로 사용하는 기능)
- java.lang.Math 클래스(21)
수학관련 상수와 클래스 메서드를 제공한다.
- java.util 패키지의 주요 클래스(24)
date는 페기처분된 메소드가 많아서 사용하지않는다
date()(생성자)는 자주사용한다 : 시스템 시간을 가져온다.
calender 클래스르 자주쓴다
- java.util.calendar 클래스(26)
클래스 생성시 동적인 정보를 가져올때는 팩토리 메소드를 활용한다.
다양한 상수를 통하여 값을 가져오거나 셋팅한다.
- java.util.Random 클래스(30)
math 클래스보다 더 다양한 랜덤값을 준다.
기준값을 줄수있다. (seed값)
- system클래스
JVM을 추상화 시켜놓은 클래스이다.
-- 오전끝
System.exit(0); : 프로그램 종료
System.gc(); : 가비지 콜렉터 호출, 실제론 의미가 별로없다
System.in.read(); : 키보드로 인풋을 받는다.
System.currentTimeMillis(); : 1970년도 부터 온시간은 밀리세컨드로 반환(long)
System.arrayCopy(); : 배열 복사
확장for문 알아보기
OS기능중 중요한거 : 하드웨어관리, 프로세스관리
- 7. 상속.ppt
사전에 정의되어있는 클래스의 속성이나 메서드를 새로 정의하고자 하는 클래스에서 그대로 내려 받아 속성이나 메서드르 재사용하는 객체지향의 대표적 기술이다.
재사용, 재정의, 추가(확장) -> 상속
정확한 의미로 클래스 상속이다.
부모 < - > 자식관계가 됫을때 "is a"관계가 된다고 한다.
부모클래스 or 슈퍼클래스(Super class)
자식클래스 or 서브클래스(Sub class)
상속이된 클래스를 생성시에 메모리는 자식클래스와 상속클래스가 동시에 할당된다.
자식클래스에는 없고 상속받은 속성이나 메소드가 있을경우 메모리에 할당된 부모클래스에서 찾아서 호출한다.
모든 클래스는 object클래스를 상속받는다.
- 자바에서 자동으로 생성되는것들
디폴트생성자, extends Object, 생성자 첫번째 줄에 super(); 붙여준다 (자동으로 부모클래스의 디폴트 생성자를 호출한다)
- 재정의 (overriding)
재정의는 변수, 메서드 모두 해당한다.
보통 메서드에 많이 쓴다.
메서드 재정의시 구현부만 달라진다.
toString은 object 클래스(최상위클래스) 의 메소드이다
오버라이딩을 할 수 있다.
- 상속 제약 사항
다중상속을 지원하지않는다.
부모클래스의 private는 상속되지않는다.
생성자는 상속되지 않는다.
super : 슈퍼클래스의 인스턴스를 가리키는 참조(래퍼런스) 변수
super() : 슈퍼클래스의 생성자 호출
명시적으로 생성하지않을경우 디폴트 생성자가 추가된다.
생성자를 만들시에 디폴트 생성자를 꼭 만들어야하는 이유중에 하나
- 오버라이딩 규칙(7)
기본적으로 메서드 선언부가 동일해야된다.
접근제한자는 같거나 더 넓어야한다.