Java 기초 자료형 - String Type(문자열)
728x90
기본 환경
JDK : 1.8.0_261 버전 JRE : 1.8.0_261 버전 JAVA VERSION : 8 업데이트 261 Eclipse IDE VERSION : 2020-06버전 |
목표
자바의 기본 자료형 문자열 대해 이해한다.
참조형변수와 기본자료형변수에 대해 이해한다.
코드
package ex02variable;
public class E04StringType {
public static void main(String[] args) {
/*
String 타입 : 참조형 변수로써 기본자료형이 아님
문자열을 저장할 수 있는자료형으로 실제로는 class임.
자바에서는 문자열을 표현할때 " 으로 감싸면 되고, 연결할때
+ 기호를 사용한다.
*/
int number;
number = 99;
/*
참조형변수와 기본자료형병수 사이에서는 형변환이 불가능하다.
서로 사용하는 메모리 공간이 다르기 때문이다.
기본 자료형 : 스택(stack) 영역 사용
참조형(클래스) : 힙(heap) 영역 사용
*/
//int stringNumber1 = (int)"100";
//String stringNumber2 = (String)100;
/*
문자열 + 정수 => 문자열
즉 문자열에 정수가 연결된 형태로 출력된다.
*/
String strNumber = "100";
System.out.println(strNumber + number);
/*
String은 클래스이므로 new 키워드를 이용해서 인스턴스(객체)를
생성한 후 문자열을 참조한다.
*/
String newString = new String("new 키워드 사용");
System.out.println(newString);
String stringBasic = "클래스지만";
String plusString = "기본 자료형처럼 사용";
System.out.println(stringBasic + " " + plusString);
/*
문자열 + 숫자 => 우선순위가 없다면 일반적으로 문자열로 출력된다.
단, 산술연산의 결과를 출력하고 싶다면 아래와 같이 소괄호를
이용해서 우선순위에 대한 변화를 주면된다.
*/
int kor = 100, eng = 99, math = 98;
System.out.println("총첨 : " + kor + eng + math);
System.out.println("총첨 : " + (kor + eng + math));
}
}
String 기본적을 클래스 입니다. 클래스의 모든 속성을 따라가지만 자료형으로 쓰기 쉽게 만들어 놓은 듯합니다. 클래스와 좀 다른 점은 문자열을 기본 자료형 같이 초기화 해줄때 그 초기화된 값이 갔다면 두개의 변수 모두 stack에서 같은 heap데이터 주소를 가리킨다는 것입니다. 이건 뒤에 클래스를 공부하면서 더 자세히 하도록 하겠습니다. 지금은 String이 참조형 변수라는 것과 클래스 이기 때문에 기본 자료형과 형변환이 불가능 하고 서로 계산이 안된다는 것 정도만 알고 있도록 하겠습니다.
결과 값