class - 객체를 정의하는 틀 또는 설계도
클래스 타입의 객체를 선언해야 함
ㄴ필드 : 클래스에 포함된 변수를 의미
메소드 : 특정 작업을 수행하기 위한 명령문의 집합
instance(할당된 메모리의 객체)
- 클래스로부터 객체를 선언하는 것을 인스턴스화라고 함
선언된 해당 클래스 타입의 객체를 인스턴스라고 함
ㄴ하나의 클래스로 부터 여러개의 객체를 선언할 수가 잇음
독립된 메모리 공간에 저장된 자신마느이 필드를 가질 수 잇다
해당 클래스의 모든 메소드는 해당 클래스에서 생성된 모든 인스턴스가 공유하게 됨
접근제어자 반환타입 메소드이름(매개변수목록){
//구현부
}
필드 - 클래스에 포함된 변수
ㄴ클래스 변수
인스턴스 변수
지역 변수
메서드 - 어떠한 특정 작업을 수행하기 위한 명령문의 집합
ㄴ클래스 메서드 - static 키워드를 가지는 메소드
인스턴스 메서드 - static 키워드를 가지고 있지 않은 메서드
생성자 - 객체의 생성과 동시에 인스턴스 변수를 원하는 값으로 초기화할 수 있는 생성자메소드 제공
ㄴ 클래스 이름과 동일해야 함
클래스 선언
접근제어자(public) class 클래스이름(car){
접근제어자 필드1의 타입 필드 1의 이름;
인스턴스 생성
참조변수 선언 - car mycar;
인스턴스 생성 - mycar = new car();
선언과 동시에 생성 -car mycar = new car();
시그니처 - 메서드 선언부에 명시되는 매개변수의 리스트
기본생성자 defaultl constructor
ㄴ매개변수를 하나도 가지지 않으며 아무런 명령어도포함하고 있지 않다
this() 메서드
- 생성자 내부에서만 사용할 수 있음, 다른 생성자를 호출할 떄 사용
- 인수를 전달하면, 생성자 중에서 메소드 시그니처가 일치하는 다른 생성자를 찾아서 호출해줌
메서드 시그니처 - 메소드의 선언부에 명시되늰 매개변수의 리스트를 가르킴
메서드 오버로딩 println()
같은 이름의 메소드를 중복하여 정의하는 것
서로 다른 시그니처를 갖는 여러 메소드를 같은 이름으로정의하는 것
접근제어자
ㄴ 1. private - 선언된 클래스 멤버는 외부에 공개되지 않음, 해당 객체의 public 메소드를 통해서만 접근 가능
2. public - 외부로 공개, 해당 객체를 사용하는 프로그램 어디에서나 직접 접근 가능
3. default - 접근 제어의 기본값, 접근 제어자가 지정되지 않으면 자동적으로 defaut 접근 제어 가짐
4. protected - 이 멤버를 선언한 클래스의 멤버, 속한 패키지의 멤버, 상속받은 자식 클래스의 멤버
메소드