String str = "01-abc123-한글1234";
String restr = str.replaceAll("[^0-9]","");
System.out.println(restr);
여기서 [^0-9] 가 무슨 뜻일까
→ 0~9의 숫자가 아닌 문자열을 의미한다.
char a = '3';
int three = a - '0';
클래스 안의 클래스
내부 클래스의 장점
내부 클래스에서 외부 클래스의 멤버들에 쉽게 접근할 수 있다.
코드의 복잡성을 줄일 수 있다. (캡슐화)
class A {
int a = 10;
class B {
void method() {
System.out.println(a)
}
}
}
class A는 class B의 외부 클래스
class B는 class A의 내부 클래스
class B에서 class A의 인스턴스 생성 없이 멤버 접근 가능하다.
이때 내부 클래스 B는 외부 클래스 A 이외 다른 클래스에서 잘 사용되지 않는 클래스이다.
내부 클래스의 제어자는 변수에 사용가능한 제어자와 동일하다.
내부클래스도 클래스이므로 abstract 나 final 같은 제어자를 사용할 수 있고, 멤버변수들처럼 private 이나 protected 접근 제어자도 사용 가능하다.
static 메서드에서 인스턴스 멤버를 다룰 수 없듯이 static 클래스에서도 인스턴스 멤버를 다룰 수 없다.
내부 클래스에서 외부 클래스의 private 변수에 접근 가능하다.
class Outer {
private int outerIv = 0;
class Inner {
int iiv = outerIv;
}
}
미션과 별개로 자바의 정석 진도 나가고 있는 중 (스터디 참여중)
오늘은 자바의 정석 내부클래스 학습
날씨가 풀려서 점심시간에 공원 도는게 하루의 낙이 되어버렸다.
뒤로 갈수록 객체 지향 파트로 넘아가면 그쵸...저는 추상화, 인터페이스, 다형성, enum 등등 모르는 부분이 많네요. 이번 미션하면서 무조건 미션에만 집중할게아니라 자바 객체지향 공부를 같이해줘야겠다는 생각을 했습니다 ㅎㅎ
저도 오늘 자바의 정석 chap7 봤는데 반가워요😆😆