자바에서는 문자열을 객체로 취급한다.
자바에서 우리에게 제공하는 String 클래스가 그것이다.
클래스가 누군가에 의해 이미 작성되어 있다면, 우리는 객체를 생성하여 사용할 수 있다.
3번 라인의 코드를 실행시키면 String 클래스의 객체가 하나 생성된다.
여기서 s 는 참조 변수로서 생성된 객체를 가리키는 변수이다.
기초 변수는 값을 변수 안에 저장하지만 참조 변수는 객체의 주소가 저장된다.
5번 라인을 보면 문자열을 그냥 쌍따옴표("") 안에 입력한 다음 참조 변수에 저장하고 있다.
문자열은 자주 사용되므로 new 연산자를 사용하지 않고 문자열 상수로 표기해도 자동적으로 객체가 생성된다.
객체가 생성된 후에 객체의 메소드를 이용하려면 도트 연산자(dot operator)를 사용한다.
도트 연산자는 점(.)을 말한다.
예를 들어서 String 클래스는 length() 라는 이름의 메소드를 가지고 있다.
length() 메소드는 문자열의 길이를 반환하는 메소드 이다.
7번 라인을 보면 a.length()를 사용하여 문자열 a 의 개수가 17글자 임을 알수 있다.
위 사진은 String 클래스에서 제공하는 메소드 들이다.
APIs 를 참고하면 더욱 자세하게 알 수 있다.
http://docs.oracle.com/javase/8/docs/api/
위와 같이 String 클래스의 메소드를 호출하여서 문자열을 결합하거나 문자열에 대한 연산을 실행 할 수 있다.
여기서 한가지 더 추가로 알고 있으면 좋은것은,
문자열과 기초 자료형 변수를 결합하게 되면 자동적으로 기초 자료형을 문자열로 변환한다는 것이다.
라인6을 보면 int type x 와 String 상수 "결과값은 "이 더해져 "결과값은 20" 이라는 문자열에 출력되었다.
int 형 이 문자열로 자동 형변환 되었기 때문이다.
11번 라인과 12번 라인을 보면 문자열과 수치값이 합쳐지면,
연산의 결과가 나오는것이 아니라 문자열의 결합으로 간주한다는것을 알 수 있다.
반대의 경우에는 어떻게 해야 할까?
자바에서는 정수나 실수와 같은 기초 자료형을 제외하고는 모든 것이 객체로 되어 있다.
하지만 어떤 경우에는 기초 자료형도 객체로 포장하고 싶은 경우가 있다.
이때 사용되는 것이 랩퍼 클래스(wrapper class)이다.
'Java > Java 공부' 카테고리의 다른 글
DB에서 파일 가져오기 (1) | 2016.07.25 |
---|---|
DB에 파일 집어넣기 (0) | 2016.07.25 |
메소드 (0) | 2016.07.18 |
클래스 (0) | 2016.07.18 |
객체 지향 프로그래밍 (0) | 2016.07.18 |