메서드 선언부=실행방법
실행부
함수는 ()가 있고
변수는 ()가 없다.
=> 이렇게 둘을 구분
클래스 관계 3가지 형태
사용
상속
집합
라이브러리용은 main()가 없다.
생성자(p.144)
+생성자는 반환타입없다 =>void, int 같은 것을 붙이지 않아도 된다.
반환타입 있으면 메서드
없으면 생성자
생성자는 new 키워드가 객체 생성시에만 실행
기본 생성자
- 매게 변수가 없는 생성자
- 모든 생성자가 반드시 존재하며 하나 이상 가질 수 있다.
- 생성자 선언을 생략하면 컴파일러는 다음과 같은 기본 생성자 추가
public void Car2(){} 이런 형식으로 자동 생성
- 비어있는 생성자를 만들어준다.
- 개발자가 선언한 생성자
생성자 오버로딩(overloading)
- 동일한 이름의 생성자를 여러 개 선언하는 것.
- 매개변수의 타입, 개수, 순서가 달랐을 때만
This
- 생성자 오버로딩되면 생성자 간의 중복된 코드 발생
- 초기화 내용이 비슷한 생성자들에서 이러한 현상을 많이 볼 수 있다.
- 객체/자기자신 () <- 생성자 호출. 생성자와 클래스이름 동일.
메소드 오버로딩(overloading)
- 같은 이름의 메소드 여러 개 선언하는 것.
- 메개변수의 타입, 개수, 순서가 달라야
타입의 순서가 중요한 거다. String int <-> int String
int int 는 바꿔도 인식못한다.
인스턴스 멤버
클래스-> 멤버-> 변수 / 메서드
|
객체 -> 멤버 ->변수
->메서드
- 인스턴스 멤버는 객체 소속된 멤버이기 때문에 객체 없이 사용불가
인스턴스 멤버와 this
- 객체(인스턴스) 자신의 참조(번지)를 가지고 있는 키워드
- 객체 내부에서 인스턴스 멤버임으 명확히 하기 위해 this 사용.
- 매개변수와 필드명이 동일할 때