TIL 2022-09-22 메소드/메소드 호출/생성자 / this

JYR00·2022년 9월 22일
0

TIL

목록 보기
13/60

메서드 선언부=실행방법
실행부

함수는 ()가 있고
변수는 ()가 없다.
=> 이렇게 둘을 구분

클래스 관계 3가지 형태
사용
상속
집합

라이브러리용은 main()가 없다.

생성자(p.144)

  • new 연산자에 의해 호출되어 객체의 초기화 담당

    new 클래스();

  • 클래스를 기반으로 객체를 생성

  • 메서드와 동일(자동호출이 된다.)

+생성자는 반환타입없다 =>void, int 같은 것을 붙이지 않아도 된다.

반환타입 있으면 메서드
없으면 생성자

생성자는 new 키워드가 객체 생성시에만 실행

기본 생성자

  • 매게 변수가 없는 생성자
  • 모든 생성자가 반드시 존재하며 하나 이상 가질 수 있다.
  • 생성자 선언을 생략하면 컴파일러는 다음과 같은 기본 생성자 추가

    public void Car2(){} 이런 형식으로 자동 생성

  • 비어있는 생성자를 만들어준다.
  • 개발자가 선언한 생성자

생성자 오버로딩(overloading)

  • 동일한 이름의 생성자를 여러 개 선언하는 것.
  • 매개변수의 타입, 개수, 순서가 달랐을 때만

This

  • 생성자 오버로딩되면 생성자 간의 중복된 코드 발생
  • 초기화 내용이 비슷한 생성자들에서 이러한 현상을 많이 볼 수 있다.
  • 객체/자기자신 () <- 생성자 호출. 생성자와 클래스이름 동일.

메소드 오버로딩(overloading)

  • 같은 이름의 메소드 여러 개 선언하는 것.
  • 메개변수의 타입, 개수, 순서가 달라야

타입의 순서가 중요한 거다. String int <-> int String

int int 는 바꿔도 인식못한다.

인스턴스 멤버

클래스-> 멤버-> 변수 / 메서드
|
객체 -> 멤버 ->변수
->메서드

  • 인스턴스 멤버는 객체 소속된 멤버이기 때문에 객체 없이 사용불가

인스턴스 멤버와 this

  • 객체(인스턴스) 자신의 참조(번지)를 가지고 있는 키워드
  • 객체 내부에서 인스턴스 멤버임으 명확히 하기 위해 this 사용.
  • 매개변수와 필드명이 동일할 때

0개의 댓글