본문 바로가기

Java/Chapter 11. 메소드 오버로딩과 String 클래스

(4)
[Java] 11.03 - String 클래스의 메소드(2) concat 메소드는 이어서 호출이 가능하다. concat 메소드는 다음의 형태로 호출이 가능하다. 그리고 이 문장을 통해서 참조변수 str은 3개의 문자열을 연결해서 만든 "ABCDEFG"를 참조하게 된다. String str = "AB".concat("CD").concat("EF"); String str = "ABCDEF"; // 두 문장은 동일한 결과를 출력한다. 위의 문장에서 concat 메소드의 호출이 이어져 있다는 점이 특이하다. 이러한 형태로 concat 메소드의 호출이 가능한 이유는 무엇인가? 이에 대한 이해를 돕기 위해 위 문장에 소괄호를 추가하면 다음과 같다. String str = ("AB".concat("CD")).concat("EF"); 즉 위의 문장에서 왼편에 위치한 concat..
[Java] 11.03 - String 클래스의 메소드(1) 들어가며 String 클래스에는 문자열 처리에 부족함이 없을 정도로 많은 메소드가 정의되어 있다. 그리고 대부분의 메소드들이 사용하는데 어려움이 없다. 자바 문자를 참고해야 한다. 이어서 String 클래스에서 주로 사용하는 기본적인 메소드들을 소개할 예정이다. 그러나 어떠한 책에서도 String 클래스의 모든 메소드를 소개하지는 않는다. 그리고 자바의 모든 클래스를 설명한다는 것은 더더욱 불가능한 일이다. 때문에 자바 사용자들은 JDK 문서를 참고하는 습관을 들여야 한다. 지금까지 한 번도 JDK 문서를 참고하지 않았다면 지금을 기회로 삼자. 본서에서 설명하는 String 클래스의 메소드들을 문서를 통해서 다시 한번 확인하자. 조금 더 조언하자면, 저자도 90년대 후반에 자바의 기본 문법은 책을 통해서..
[Java] 11.02 - String 클래스 들어가며 자바에서는 String이라는 이름의 클래스를 정의하여 제공하고 있다. 그리고 이 클래스의 목적은 문자열 표현에 있다. 지금까지 인식하지 못했지만 앞서 보아온 모든 예제에서 String 클래스의 인스턴스를 생성해왔다. String 클래스의 인스턴스 생성 문자열 표현을 위한 String 인스턴스의 생성 방법은 다음과 같다. 일반적인 인스턴스 생성 방법과 차이가 없다. String str = new String("Simple String"); 이렇게 인스턴스가 생성되면, str이 참조하는 String 인스턴스의 내부에는 문자열 "Simple String"이 담기게 되고, 이는 다음과 같이 출력하여 그 내용을 확인할 수 있다. System.out.println(str); 지금까지 많이 호출해왔던 Sys..
[Java] 11.01 - 메소드 오버로딩(Method Overloading) 들어가며 한 클래스 내에 동일한 이름의 메소드를 둘 이상 정의하는 것은 허용되지 않는다. 그러나 매개변수의 선언이 다르면 가능하다. 그리고 이것을 메소드 오버로딩이라 한다. 메소드 오버로딩의 조건 호출할 메소드를 찾을 때, 다음 두 가지 정보를 참조하여 메소드를 찾게 된다. 메소드의 이름 메소드의 매개변수 정보 예를 들어서 다음 메소드의 호출문을 보자. MyHome home = new MyHome(); home.mySimpleRoom(3, 5); 위의 문장에서 호출하는 메소드를 찿을 때 다음 두 가지 정보가 사용된다. 메소드의 이름이 mySimpleRoom이다. 3과 5를 인자로 전달받을 수 있는 메소드이다. 즉 위의 메소드 호출문이 찾는 메소드의 모양새는 다음과 같다. 반환형은 임의로 void로 선언하..