본문 바로가기

JAVA/객체지향25

변수의 초기화 변수를 선언하고 처음으로 값을 저장하는 것입니다 맴버 변수 : (클래스 변수와 인스턴스 변수)와 배열의 초기화 → 선택적 지역 변수: 사용하기 전 반드시 초기화 → 필수적 각 Type의 기본값(default value) 자료형기본값 boolean false char '\u0000' byte, short, int 0 long 0L float 0.0f double 0.0d 또는 0.0 참조형 변수 null 명시적 초기화 class Car{ int door = 4; // 기본형(primitive type) 변수 초기화 Engine e = new Engine(); // 참조형(reference type) 변수 초기화 } 기본형 변수 초기화 '=' 는 간단 초기화입니다. 참조형 변수 초기화는 객체를 만들어야합니다.. 2023. 2. 23.
생성자 생성자 인스턴스(객체 iv묶음) 초기화 메서드 입니다 1.생성자의 이름은 클래스의 이름과 같아야 합니다 2.생성자는 리턴 값이 없습니다(void 가 안붙습니다.)(모든 클래스는 반드시 생성자를 가져야 합니다.) 3. 생성자도 오버로딩이 가능하므로 하나의 클래스에 여러개의 생성자가 존재할 수 있습니다. Time t = new Time(); t.hour =12; t.minute=34; t. second=56; time = new Time(12,34,56);//생성자로 이렇게 기본 생성자 지금까지는 생성자를 모르고도 프로그래밍을 해 왔지만 사실 모든 클래스에는 반드시 하나 이상의 생성자가 정의되어 있어야 합니다 그러나 지금까지 클래스에 생성자를 정의하지 않고도 인스턴스를 생성할 수 있었던 이유는 컴파일러가 제.. 2023. 2. 22.
오버로딩 ,오버라이딩 한 클래스 내에 같은 이름의 메서드를 여러 개 정의하는 것을 오버로딩 입니다. 오버로딩 조건 메서드 이름이 같아야 합니다 매개변수의 개수 또는 타입이 달라야 합니다. //반환 타입은 영향없습니다. int add(int a, int b) {return a+b}//중복정의 long add (long a, int b) {return a+b; } //오버로딩 성립 int ,int -> int,int는 오버로딩이 성립이 안되고 하나라도 타입이 달라야합니다 오버라이딩 조상클래스부터 상소받은 자손클래스 가 자신에 맞게 변경됩니다. 오버 라이딩의 조건 이름이 길어야합니다 매개변수가 같아야합니다 반환타입이 같아야 합니다 접근제어자는 조상 클래스의 메서드보다 좁은 범위로 변경 할수 없습니다 pubic,protected,(.. 2023. 2. 22.
클래스 메서드(static)와 인스턴스 메서드 변수에서 그랬던 것과 같이, 메서드 앞에 static이 붙어 있으면 클래스메서드이고 붙어있지않으면 인스턴스 메서드 입니다. 클래스 메서드도 클래스변수처럼 객체를 생성하지 않고도 클래스이름,메서드이름(매개변수)와 같은 식으로 호출이 가능합니다 인스턴스 메서드는 반드시 객체를 생성해야만 호출할 수 있다. 인스턴스 메서드는 변수를 필요하는 메서드입니다. 인스턴스와 관계없는(인스턴스 변수나 인스턴스 메서드를 사용하지 않는)메서드를 클래스 메서드(static)로 정의합니다. 클래스를 설계할 때 맴버변수 중 모든 인스턴스에 공통으로 사용하는 것에 static을 붙입니다. 인스턴스는 서로 독립적이기 때문에 각 인스턴스의 변수(iv)는 서로 다른 값을 유지합니다 모든 인스턴스에서 같은 값이 유지되어야 하는 변수는 st.. 2023. 2. 22.