오늘 공부 한거
자바의 정석이 이렇게 어려운 책일줄은 몰랐다... 처음 접하는 사람들한테 추천하려고 했었는데...
그래도 기초는 다 안다고 생각했는데 그냥 해변에서 발목까지 발 담그고 바다에 들어갔다왔다고 한격...
- 클래스 메서드와 인스턴스 메서드
- 메서드 앞 static의 유무로 클래스 메서드, 인스턴스 메서드 구분
- 클래스 변수(static변수)는 인스턴스를 생성하지 않아도 사용 가능
- 클래스 메서드는 인스턴스 메서드 사용 불가능
- 오버로딩 - 한 클래스 내에 같은 이름으로 여러 개 정의하는 것. 메서드 오버로딩 또는 오버로딩 이라고 함
- 메서드 이름이 같아야 하고, 매개변수의 개수 또는 타입이 달라야 한다.
- 매개변수에 의해서만 구별될 수 있으므로 ,반환타입은 오버로딩을 구현하는데 아무런 영향이 없다.
- 오버로딩의 장점
void println() //모두 근본적으론 같은 기능이지만, 서로 다른 이름을 지어야하면
void printlnBoolean(boolean x)//메서드 이름 작성하는 것도 힘들지만 사용자 측에선
void printlnChar(char x) //이름을 구분해서 기억해야하기 때문에 양측에게 부담.
void printlnDouble(double x)
void printlnString(String x)
- 가변인자(varargs)와 오버로딩
- 메서드의 매개변수 개수는 고정적이었으나, JDK1.5부터 동적으로 지정 해줄수 있게됨. 이 기능을 가변인자 라고함.
- 가변인자 외에 매개변수가 있다면 가변인자를 제일 마지막에 선언.
public PrintStream printf(String format,Object...args) {...}
- 생성자 - 인스턴스가 생성될 때 호출되는 '인스턴스 초기화 메서드'이다.
- 연산자 'new' 가 인스턴스를 생성하는 것이지, 생성자가 인스턴스를 생성하는건 아님.
- 모든 클래스에는 반드시 하나 이상의 생성자가 있어야한다.
- 하지만 여태껏 클래스에 생성자를 정의 하지않아도 인스턴스를 생성할 수 있었던 이유는 컴파일러가 제공하는 기본 생성자 때문.
- 생성자에서 다른 생성자 호출하기
- 생성자간의 서로 호출할 수 있지만 조건이 있다.
- 생성자의 이름으로 클래스 대신 this 사용.
- 한 생성자에서 다른 생성자를 호출할 땐 반드시 첫줄에서만 호출 가능.
- 생성자간의 서로 호출할 수 있지만 조건이 있다.
'개발 > TIL' 카테고리의 다른 글
23.10.11_TIL (0) | 2023.10.12 |
---|---|
23.03.23_TIL (0) | 2023.03.23 |
23.03.22_TIL (0) | 2023.03.23 |
23.03.20_TIL (0) | 2023.03.21 |