public class Sample {
public static void main(String[] args) {
String a = "홍길동";
System.out.println(????);
}
}
이런 코드가 있다고 하구요 . 저기 물음표에는 String a의 길이가 알고 싶다고 가정을 하겠습니다. 음... 길이를 나타내는 메소드가 뭐였더라? 생각이 안나는 거죠 이때 api를 활용하게 됩니다. 자바 api 에 보시면 화면이 3부분으로 나뉘어져 있는게 보이시나요?
먼저 1번은 자바에서 제공하는 패키지들을 나타냅니다. 2번은 위 1번에서 클릭하는 패키지에 해당하는 클래스를 나타내구요
3번은 2번에서 클릭한 클래스의 구성을 보여줍니다. 초기페이지의 2번은 모든클래스가 보여지게 되고 3번에서는 api에서 제공하는 스펙 패키지들을 보여줍니다. 찾고자 하는 것이 String 의 길이를 구하는 메소드였죠? 흔히 사용하는 메소드(클래스 선언을 하지 않고 사용하는 메소드들)는 java.lang 패키지에 속해있습니다. 어떻게 import 도 없이 사용할 수 있을까요?
코드상에는 보이지 않지만 java에서는 컴파일시에 java.lang패키지가 자동으로 import 되게 됩니다. 그래서 별다른 import 를 하지않아도 사용할 수 있는거죠. 물론 클래스 상단에 import java.lang.*; 이라고 명시적으로 선언을 해도 상관없습니다. 찾고자하는 String 역시 java.lang 패키지 안에 들어있습니다. 따라서 1번 창에서 java.lang을 클릭해줍니다. 그러면 2번창에 java.lang 패키지에 속하는 클래스들이 보입니다. 여기서 원하는 String 클래스를 클릭하면 3번창에 String 클래스가 보여지게 되는 거죠 보면 클래스의 정보부터, 필드의 개요, 생성자의 개요, 메소드의 개요.. 등등이있죠?(한글 api 기준입니다) 클래스까지는 찾아왔는데 여기서부터는 어떻게 찾느냐? 원하는 기능을하는 메소드는 길이를 구하는 메소드입니다. 일단 메소드의 개요쪽으로 스크롤을 내려봅니다. 앞칸엔 char , int , String , boolean 등등 이 보이고 뒷칸엔 메소드명과 괄호가 보입니다. 앞칸에있는 것들은 반환값으로 사용하는 타입을 나타내고 뒷칸엔 그 메소드의 이름과 입력값 그리고 메소드를 간략하게 설명해 줍니다. 메소드명을 클릭하게되면 메소드를 상세히 볼 수 있죠 이제 메소드명을 정확히 안다면 바로 찾으면 되구요.
혹은 원하는 기능과 유사한 이름을 찾습니다. 여기서는 length 혹은 size 등이 되겟군요. 그리고 원하는 메소드의 반환값을 확인 해서 맞는지 보면 됩니다.length 의 반환값이 int 네요 맞는듯합니다. 여기선 파라미터가 없지만 파라미터가 있을경우에 파라미터도 비교해보면 됩니다.원하는 메소드를 찾았으면 사용을 하면 됩니다.
public class Sample {
public static void main(String[] args) {
String a = "홍길동";
System.out.println(a.length());
}
}