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 |