본문 바로가기
개발/TIL

23.03.25_TIL

by 욤냠냠냠 2023. 3. 27.

오늘 공부 한거

자바의 정석이 이렇게 어려운 책일줄은 몰랐다... 처음 접하는 사람들한테 추천하려고 했었는데...

그래도 기초는 다 안다고 생각했는데 그냥 해변에서 발목까지 발 담그고 바다에 들어갔다왔다고 한격...

 

  • 클래스 메서드와 인스턴스 메서드
    • 메서드 앞 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