JAVA 스터디를 위한 키워드 15-17
15. String
- 참조 타입(이면서 기본타입)
- 기본타입과 참고타입의 차이
ㄴ 기본 타입은 값을 전달한다(pass by value, cal by value, assign by value)
ㄴ 참조타입은 주소를 전달한다(new 예약시 사용해서 메모리에 할당)
(pass by reference, call by reference, assign by reference)
- 작동은 기본타입(값 전달)로 됨
1) [1] String s1 = "K";
String s1 = new String("K");
둘 다 됨
[2] String str = "Happy";
String st1 = str;
st1의 H를 h로 바꿔도 String str에는 Happy가 출력됨
2) Concatenation(연쇄)
- 문자열 " " 과 Type을 만나면 보이는 그대로 문자열로 만들어 줌
3) "Happy" 는 곧 'H' 'a' 'p' 'p' 'y' 과 같다
문자형이 모이면 문자열, 문자열이 쪼개지면 문자형
1] charAt(index 번호);
- 문자열을 해당 index로 잘라냄
char로 반환
2] compareTo(String문자열);
- 선행 문자열과 아규먼트 문자열을 비교해줌
3] compareToIgnoreCase(문자열);
- 선행과 후행 문자열을 비교
- 대문자 소문자 구분 없음
4] concat(문자열);
- 문자열을 합쳐줌
- 두 개씩 밖에 합칠 수 없음
5] contains(char 혹은 문자열);
- 문자열에 입력된 값이 있는지 없는지 판단
boolean 반환
6] equals();
- java.lang.Object의 메소드를 상속 받음
- 문자열의 hashCode 값을 비교하여 판단 (==과 차이가 있음)
7] indexOf(문자열);
- 문자열에서 입력된 값과 같은 문자, 문자열의 해당 index 번호를 반환
ex) 메일을 @로 구분한다거나 번호를 - 기준으로 구분
8] lastIndexOf(문자열);
- 문자열의 뒤에서부터 검색하여 해당 문자의 index번호를 반환
9] length();
- 문자열의 길이를 반환
※ JAVA에서 길이를 판단해 반환해주는 것에는 3가지가 존재
[1] size() : 자료 구조
[2] length : 기본배열
[3] length() : 문자열
10] replace(선택, 교체);
- 문자열에서 선택해서 다른 값으로 교체
11] split(문자열);
- 특정한 기준 문자열로 쪼개는 것
String 배열로 반환
12] subString(index);
subString(start index, end index);
- [1] index를 기준으로 뒤를 남김
[2] start index를 포함하여 자름, end index는 -1 하여 그 값의 사이를 자름
13] toLowercase();
toUppercase();
- 모두 소문자로 만들어줌, 모두 대문자로 만들어 줌
14] toString();
- java.lang.Object 부모의 메소드임
출력을 담당
15] trim();
- 앞 뒤의 공백을 잘라줌
18. Shortcircute (&&, ||)
- &와 |은 앞 조건에 상관없이 뒤 조건도 확인 // 거짓&참 -> 참
- &&와 ||은 뒤 조건을 확인하지 않아도 결과가 나오면 결과를 도출함 // 거짓&&참 -> 거짓
19. Memory 구조Ⅰ
1) Method Area
[1] Method
- 같은 메소드라면 메소드가 한 번만 만들어짐
[2] Static
2) Stack (연산이 일어남)
[1] 변수명(객체명)
[2] 기본값
3) Heap
[1] 객체
- 클래스 : 작성한 일반적인 문서
객체 : 사용하기 위해 메모리에 올려둔 형태
- 고유의 해시코드를 가짐
[2] 생성자