목록Java/객체지향 (41)
충분히 쌓여가는
생성자 인스턴스가 생성될 때마다 호출되는 인스턴스 초기화 메서드(iv 초기화를 편하게 하기 위함) 인스턴스 생성시 수행할 작업(instance variable 초기화)에 사용 Time t = new Time(); t.hout = 12; t.minute = 34; t.second = 56; Time t = new Time(12, 34, 56); 생성자 조건 1. 이름이 클래스 이름과 같아야한다 2. return 값이 없다(void 없음) return값이 없는 경우 void를 붙이는데 생성자의 경우 항상 반환값이 없기 때문에 void 안붙임 3. 모든 클래스는 반드시 생성자를 가져야 한다 클래스이름(타입 변수명, 타입 변수명, ...) { // 인스턴스 생성 시 수행될 코드, // 주로 인스턴스 변수의 초기..
오버로딩 한 클래스 안에 같은 이름의 메서드 여러 개 정의하는 것 대표적인 예: println() void println() void println(boolean x) void println(char x) void println(char[] x) void println(double x) void println(float x) void println(int x) void println(long x) void println(Object x) void println(String x) 오버로딩이 성립하기 위한 조건 1. 메서드 이름이 같아야 한다 2. 매개변수의 개수 또는 타입이 달라야 한다 3. 반환 타입은 영향없다 오버로딩 아님 이름이 같지만 타입이 같다, 그냥 메서드 중복정의 int add(int a, i..
class 메서드(static 메서드) 객체생성 없이 클래스이름.메서드이름()으로 호출 인스턴스 멤버(iv, im)과 관련없는 작업을 하는 메서드 메서드 내에서 인스턴스 변수(iv) 사용불가 객체 생성 없이 호출가능한 메서드 instance 메서드 인스턴스 생성 후, 참조변수.메서드이름()으로 호출 인스턴스 멤버(iv, im)과 관련된 작업을 하는 메서드 메서드 내에서 인스턴스 변수(iv) 사용가능 class MyMath2 { long a, b; // 인스턴스변수 a, b만을 이용해서 작업하므로 매개변수가 필요없다. long add() { return a + b; } // a, b는 인스턴스변수 long subtract() { return a - b; } long multiply() { return a ..
기본형 매개변수 변수의 값을 읽기만 할 수 있다(Read only) 메서드를 호출할 때 기본형 값이 복사됨 class Data { int x; } public class PrimitiveParaEx { public static void main(String[] args) { Data d = new Data(); d.x = 10; System.out.println(d.x); // 10 change(d.x); System.out.println(d.x);// 10 } static void change(int d) { // 기본형 매개변수 d = 1000; System.out.println("chage: " + d); // chage: 1000 } } 10 chage: 1000 10 참조형 매개변수 변수의 값을..