쌍용교육센터 - 10일

개발자가 되고 싶어요 ㅣ 2024. 2. 29. 17:48

2023.02.29

참조자료형 형변환 및 다형성

상속 관계의 있는 객체의 자료형은 자식 클래스의 클래스명을 참조자료형으로 사용하는데 부모 클래스의 자료형으로 변경할 수 있다. 이것을 참조자료형 형변환이라고 한다. 객체가 생성된 후 부모클래스의 자료형을 사용하면 호출할 수 있는 범위가 부모 클래스의 멤버변수, 멤버메서드로 한정된다. 참조자료형 형변환을 통해 **다형성(Polymorphism)**을 구현할 수 있다. 다형성은 한 객체가 여러 모습을 가질 수 있다는 것을 의미한다. 다형성을 자바 언어 측면에서 살펴보면 한 객체가 여러 타입이 될 수 있다는 것을 의미한다.

final

1. 상수화

  • 변수에 final을 적용 시 상수를 의미한다.

2. 메서드에 final 표시

  • 메서드에 final을 적용 시 오버라이딩으로의 확장이 불가능하다.

3. 클래스에 final 표시

  • 클래스에 final을 적용 시 더 이상의 상속 확장이 불가능하다.

String

문자열의 ==과 equals

public class StringMain01 {
	public static void main(String[] args) {
		
		//명시적
		//같은 문자열이여도 객체를 따로 만든다.
		String s1 = new String("하늘");
		String s2 = new String("하늘");
		
		//암시적
		//같은 문자열이면 같은 객체를 사용한다.
		String s3 = "바다";
		String s4 = "바다";
		
		if(s1==s2) {
			System.out.println("s1과 s2의 객체는 같다.");
		} else {
			System.out.println("s1과 s2의 객체가 다르다.");
		}
		if(s3==s4) {
			System.out.println("s3과 s4의 객체는 같다.");
		} else {
			System.out.println("s3과 s4의 객체가 다르다.");
		}
		
		if(s1.equals(s2)) {
			System.out.println("s1과 s2의 내용이 같다.");
		} else {
			System.out.println("s1과 s2의 내용이 다르다.");
		}
		
		if(s3.equals(s4)) {
			System.out.println("s3과 s4의 내용이 같다.");
		} else {
			System.out.println("s3과 s4의 내용이 다르다.");
		}
		
		String s5 = "bus";
		String s6 = "BUS";
		
		if(s5.equalsIgnoreCase(s6)) {
			System.out.println("s5와 s6의 대소문자 구분 없는 문자열이 같다.");
		} else {
			System.out.println("s5와 s6의 대소문자 구분 없는 문자열이 다르다.");
		}
	}
}

문자열 처리

public class StringMain03 {
	public static void main(String[] args) {
		String s1 = "   aBa   ";
		String s2 = "abc";
		int a = 100;
		String msg = null;
		
		msg = s1.toUpperCase();
		System.out.println("msg: " + msg);//대문자 처리
		
		msg = s1.toLowerCase();
		System.out.println("msg: " + msg);//소문자 처리
		
		msg = s1.replace("aB", "b"); //old문자를 new문자로 대체
		
		msg = s1.trim();// 앞뒤 공백 제거
		System.out.println("msg:" + msg);
		
		//문자열 중에 메서드의 인자로 전달된 문자열이 포함되어 있는지 검증
		boolean f = s1.contains("aB");
		System.out.println("f =" + f);
		
		//메서드의 인자로 전달된 문자열로 시작하는지 검증
		f = s2.startsWith("ab");
		System.out.println("f = " + f);
		
		//메서드의 인자로 전달된 문자열로 끝나는지 검증
		f = s2.endsWith("bc");
		System.out.println("f = " + f);
		
		//int -> String
		msg = String.valueOf(a);
		msg = a + "";
	}
}

'IT 국비 교육' 카테고리의 다른 글

쌍용교육센터 - 12일  (0) 2024.03.05
쌍용교육센터 - 11일  (0) 2024.03.04
쌍용교육센터 - 9일  (0) 2024.02.28
쌍용교육센터 - 8일  (1) 2024.02.27
쌍용교육센터 - 7일  (0) 2024.02.26