Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- fuction
- start()
- arguments
- class
- override
- super
- object
- reference
- constantnumber
- MSA
- 객체형변환
- 추상클래스
- Vector
- 생성자
- abstractclass
- hamobee
- garbagecollection
- Polymorphism
- concreteclass
- eclipse
- ALTER
- overload
- run()
- value
- 콘크리트클래스
- string
- Hashtable
- methodArea
- hashCode
- Eureka
Archives
- Today
- Total
뇌운동일지
[JAVA13] String 본문
String
1. String은 객체형이지만 인자로 사용되면 call by value로 작동한다.
2. String은 객체형이어서 == (등치연산자)로 비교하면 안된다.
3. equals( )를 사용하여 비교
4. 문자열이 바뀌면 hashcode도 바뀐다.
5. String은 영역에 상관없이 동일한 문자열은 동일한 hashcode를 갖는다.
문자열은 상수이기 때문에 실행하면 메모리에 한번만 존재, 간접으로 접근하게 됨.
String str = "너구리";
String str2 = "너구리";
str == str2 ; // True
String str3 = new String("너구리");
str == str3 ; // False
-> 등치연산자로 비교하면 결과가 다르게 나온다.
등치연산자는 문자열을 비교하는 것이 아니라, 메모리 영역을 비교
str.equals(str2); // True
str.equals(str3); // True
-> equals( )로 비교해야 둘다 참이 나온다.
String은 객체형이나 인자로 사용되면 call by value로 작동
'JAVA' 카테고리의 다른 글
[JAVA15] overridding VS overloading (0) | 2020.03.20 |
---|---|
[JAVA14] 접근제한자(Access Modifier), 상속(inheritance) (0) | 2020.03.19 |
[JAVA12] Singleton, final, 변수유효범위 (0) | 2020.03.18 |
[JAVA11] 클래스(class), 객체(object), 인스턴스(instance) (0) | 2020.03.17 |
[JAVA10] 메모리 운영(Method Area, Heap, Stack), garbage collection (0) | 2020.03.17 |
Comments