오버로딩


오버로딩(Overloading)은 메소드 오버로딩과 생성자 오버로딩이 있다. 하지만 둘다 같은 개념이다.


같은 이름의 함수를 여러 개 정의하고, 매개변수의 유형과 개수를 다르게 하여 다양한 유형의 호출에 응답하게 한다.


public class Main { // Overroding 예제 // 같은 기능을 하는 것끼리 묶을때 public static void main(String[] args) { // TODO Auto-generated method stub Main m = new Main(); Main m1 = new Main(1); Main m2 = new Main('A'); Main m3 = new Main(1, 2); Main m4 = new Main("king"); } Main() { System.out.println("빈거"); } Main(int a) { System.out.println(a); } Main(char a) { System.out.println(a); } Main(int a, int b) { System.out.println(a + "" + b); } Main(String a) { System.out.println(a); } }



오버라이딩


상위 클래스가 가지고 있는 멤버변수가 하위 클래스로 상속되는 것처럼 상위 클래스가 가지고 있는 메소드도 하위 클래스로 상속되어 하위 클래스에서 사용할 수 있다. 하지만, 하위 클래스에서 메소드를 재정의해서 사용할 수 있다.


상속 관계에 있는 클래스 간에 같은 이름의 메소드를 정의하는 기술을 오버라이딩(Overriding) 이라고 한다.


public class test {


public static void main(String[] args) {

wang w = new wang();

king k = new king();

//부모클래스 출력

k.p();

//자식클래스에서 재정의 출력

w.p();

}

}


class king {


protected void p() {

System.out.println("부모클래스!");

}


}


class wang extends king {

@Override

public void p() {

// TODO 자동 생성된 메소드 스텁

System.out.println("자식클래스에서 재정의");

}

}



String 클래스


1. substring

한 문자열에서 내용의 일부를 추출하는 메서드

주어진 시작위치(begin)부터 끝 위치(end) 범위에 포함된 문자열을 얻는다.

 

String s = "java.lang.Object";

String c = s.substring(10);          c = "Object"

String p = s.substring(5,9);         p = "lang"



2.split

문자열을 지정된 분리자(regex)로 나누어 문자열 배열에 담아 반환 한다.


String animals = "dog, cat, bear";

String[] arr = animals.split(",")


결과

arr[0] = "dog"

arr[1] = "cat"

arr[2] = "bear"

 


3. contains

지정된 문자열(s)이 포함되었는지 검사 한다.


String s = "abcedfg";

boolean b = s.contains("bc");


결과

b = true

 


4. endsWith

지정된 문자열(suffix)로 끝나는지 검사 한다.


String file = "Hello.txt";

boolean b = file.endsWith("txt");


결과

b = true  



5. equals

매개변수로 받은 문자열(obj)과 String인스턴스의 문자열을 비교한다. obj가 String이 아니거나 문자열이 다르면 false를 반환한다. String 클래스는 equals 메소드를 오버라이드 해서 사용한다.


String s = "Hello";

boolean b = s.equals("Hello");

boolean b2 = s.equals("hello");


결과

b = true

b2 = false

  


6.replace

문자열 중의 문자열(old)을 새로운 문자열(nw)로 모두 바꾼 문자열을 반환 한다.


String s = "Hellollo";

String sl = s.replace("ll","LL"));


결과

sl = "HeLLoLLo"



7.toString

String toString()

String 인스턴스에 저장되어 있는 문자열을 반환 한다.


String s = "Hello";

String sl = s.toString();


결과

sl = "Hello"



8. toLowerCase

String 인스턴스에 저장되어있는 모든 문자열을 소문자로 변환하여 반환 한다.


String s = "Hello";

String sl = s.toLowerCase();


결과

sl = "Hello"



9. toUpperCase

String 인스턴스에 저장되어있는 모든 문자열을 대문자로 변환하여 반환 한다. 


String s = "Hello";

String sl = s.toUpperCase(); 


결과

sl = "HELLO"



10. trim

문자열의 왼쪽 끝과 오른쪽 끝에 있는 공백을 없앤 결과를 반환한다. 이 때 문자열 중간에 있는 공백은 제거되지 않는다.


String s = "     Hello World   ";

String sl = s.trim();


결과

sl = "Hello World"



11. valueOf

지정된 값을 문자열로 변환하여 반환 한다.

참조변수의 경우, toString()을 호출한 결과를 반환 한다.


String b = String.valueOf(true);

String c = String.valueOf('a'); 

String i = String.valueOf(100); 

String l = String.valueOf(100L); 

String f = String.valueOf(10f); 

String d = String.valueOf(10.0);

java.util.Date dd = new java.util.Date();

String date = String.valueOf(dd);


결과

b = "true"

c = "a"

i = "100"

l = "100"

f = "10.0"

d = "10.0"

date = "Sub Jan 27:21:26:29 KST 2008"

  

블로그 이미지

왕왕왕왕

,