신입개발자

문자열1 본문

프로그래밍 언어/자바

문자열1

dks_a 2022. 5. 8. 18:16
package pk10;

public class 문자열1 {

	public static void main(String[] args) {
		// 참조형 중 문자열 클래스 생성하기
		
		//A) 무조건 새 공간 할당하기
		String s1 = new String ("Hello"); 		
		String s2 = new String ("Hello"); 
		// 좌변 String : 클래스명
		// s1 : 스택에 저장되는 객체명
		// new : 힙에 무조건 새로운 공간 할당받고 주소 반환
		// 우변 String() : 생성자(), 클래스명과 동일
		// Hello : 생성자 메소드의 입력매개변수
		System.out.println("s1 = "+s1);
		System.out.println("s2 = "+s2);
		System.out.println("s1 == s2 " + (s1 == s2)); //false , 주소비교결과 서로 다른 공간
		System.out.println();
		
		//B) 가급적 메모리 공유하여 재활용하기
		String s3 = "world";
		String s4 = "world";
		System.out.println("s3 = "+s3);
		System.out.println("s4 = "+s4);
		System.out.println("s3 == s4 " + (s3 == s4)); //true
		//리터럴값을 이용하여 생성할 경우,
		//힙에 world 문자열이 이미 있으면 새 공간을 할당하지않고 주소 공유(재활용)
		/*
		 * 리터럴값이란?
		 * 프로그램에서 직접 표현한 값
		 * 소스 코드의 고정된 값을 대표하는 용어
		 * 종류로는 정수, 실수, 문자, 논리, 문자열 리터럴이 있다.
		 */
		
		
	}

}

 

'프로그래밍 언어 > 자바' 카테고리의 다른 글

문자열3  (0) 2022.05.08
문자열2  (0) 2022.05.08
다차원배열4  (0) 2022.05.08
다차원배열3  (0) 2022.05.08
다차원배열1, 다차원배열2  (0) 2022.05.08
Comments