메소드 오버로딩
= 매개변수의 선언이 다르면 동일한 이름의 메소드 정의를 허용한다
매개변수 선언, 매개변수 수, 매개변수 타입이 달라도 오버로딩이 성립된다
그러나 메소드 반환형 다른건 오버로딩이 성립되지 않는다
this 접근
생성자 호출
class time{
private int reg;
private int pass;
time(int num, int pnum){
reg=num;
pass=pnum;
}
time(int rnum){
this(rnum,0);
}
}
this로 같은 이름의 메소드를 생성자로 호출할 수 있다

★ this() : 자신의 다른 생성자를 호출하는 코드로 생성자의 첫 줄에서만 허용한다
* 상위클래스가 먼저 호출되기 때문이다
인스턴스 변수 접근
class simple{
private int date;
simple(int date){
this.date=date;
}
int getDate() {
return this.date;
}
}
simple내에 인스턴스 변수 date가 선언되었고 this로 선언된 지역 내에 매개변수를 가르켰다
String 클래스
1. String 클래스 인스턴스 생성
String str1 = new String("Simple1");
2. String 클래스 인스턴스 생성
String str2 = "Simple2";
1번과 2번 차이로는
1번은 new 생성자이고 2번은 String인스턴스이다
이때 String인스턴스는 문자열 내용이 같으면 하나의 인스턴스를 생성해 공유한다
3. String 클래스 인스턴스 생성
showString("Funny");
public static void showString(String str) {
System.out.println(str);
}
showString의 메소드 호출전 "Funny"을 인스턴스화 시킨다
메소드 종류들
concat : 문자열 연결시키기
substring : 문자열 일부 추출
compareToIgnoreCase : 문자열 내용 비교
valueOf : 자료형 값 바꾸기
문자열 + 문자열로 문자열을 합할 수 있다 -> 컴파일할때 concat메소드를 호출한다
stringBuilder : 문자열을 저장하기 위한 메모리 공간이 존재하며 문자를 추가, 삭제할 수 있다
stringBuilder 메모리 공간 크기 지정
stringBuilder str1 = new stringBuilder(64);
전달 숫자만큼 문자 저장할 공간 마련된다
멀티 스레드에 안전하진 않다 멀티 스레드를 사용할 때 stringBuffer을 사용해야한다
* 스레드 : CPU 기본 이용 단위
* 단일 스레드 : 하나의 프로세스에서 하나의 스레드 실행
* 멀티 스레드 : 하나의 프로세스에서 여러 개의 스레드 실행
'언어 > Java' 카테고리의 다른 글
인터페이스, 추상 클래스 (0) | 2022.06.26 |
---|---|
클래스 상속, 오버라이딩 (0) | 2022.06.26 |
static - 정적 변수, 정적 메소드 (0) | 2022.06.20 |
정보 은닉, 접근 수준 시지자, 캡슐화 (0) | 2022.06.19 |
클래스 패스, 패키지 (0) | 2022.06.19 |