[java] 자바의 메소드(Method) 오버로딩(Overloading)과 String클래스

메소드 오버로딩
– 동일한 이름의 메소드를 둘 이상 동시에 정의하는 것
– 매개변수의 개수 또는 자료형이 다르면 오버로딩이 가능하다
– 호출시 매개변수에 따라 구분된다.

생성자와 오버로딩
– 생성자도 오버로딩이 가능하다.
– this 키워드를 사용하여 생성자 내에서 다른생성자의 호출이 가능하다.

String 클래스
– 자바의 문자열은 큰따옴표로 묶어서 String 이라는 이름의 클래스로 표현한다.
– 자바는 동일한 문자열인경우 하나의 인스턴스를 공유한다.
– 동일한 문자열로 새로운 인스턴스를 생성하려면 아래와 같이 new 키워드를 사용한다.
String str = new String(“문자열”);
– 문자열 + 연산은 내부적으로 concat() 메소드 호출문으로 대체된다.
– 두번이상 + 연산이 사용된다면 StringBuilder 클래스가 사용된다.
이경우 아무리 많은 문자열을 더해도 생성되는 인스턴스의 수는 두 개 이다.(인스턴스의 참조값을 반환하는 this키워드가 활용됨)
바로 new StringBulider() 와 toString() 을 호출할때 한번씩 인스턴스가 생성된다.