Language/Java56 파라미터 생성자 파라미터 생성자 정의 일반 메서드와 동일하게 선언부 소괄호() 안에 파라미터 변수를 선언하는 생성자 주의! 파라미터 생성자를 하나라도 정의하게 되면, 기본생성자가 자동으로 생성되지 않음 인스턴스 생성 시 기본 생성자 호출 코드가 있으면 오류 발생하게 됨 =>파라미터가 일치하지 않는 메서드를 호출하는 것과 동일한 상황 1 2 3 4 5 6 public Student2(int newId, String newName) { // => 아이디(newId) 와 이름(newName)을 전달받아 멤버변수를 초기화 System.out.println("Student2(int, String) 생성자 호출됨"); id = newId; name = newName; } Colored by Color Scripter cs 생성자 .. 2020. 5. 28. 생성자(Constructor) 생성자(Constructor) Alt + Shift + S / O 생성자 자동 생성 단축키 클래스를 사용하여 인스턴스를 생성할 때 호출되는 메서드 형태 주로 인스턴스 변수를 초기화하는 용도 또는 인스턴스 생성 시 초기에 수행할 작업 기술 기본생성자(Default 생성자) 메서드와 차이점 선언부에 리턴 타입이 없음(리턴값이 없는게 아니라 리턴타입을 기술하지 않음) 생성자 이름이 클래스명과 동일함 개발자가 생성자를 하나도 정의하지않으면 컴파일러에 의해 자동으로 기본생성자 생성 단, 생성자를 하나라도 정의할 경우 기본 생성자는 자동 생성되지 않는다 파라미터가 없는 생성자와 파라미터가 있는 생성자 모두 정의 가능(= 메서드와 동일) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18.. 2020. 5. 28. Pass by value & Pass by reference Pass by value(값에 의한 전달) 메서드 호출 시 값(실제 데이터)을 복사해서 전달 = 기본형 전달 호출된 메서드 내에서 전달받은 값을 변경해도 원래 데이터에는 영향이 없음 Pass by reference(참조에 의한 전달) 메서드 호출 시 참조값(주소)을 복사해서 전달 = 참조형 전달 호출된 메서드 내에서 전달받은 주소값에 접근하여 값을 변경하면 같은 주소를 참조하는 대상은 동일한 영향을 받는다 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 c.. 2020. 5. 28. 접근제한자 (Access Modifier = 접근제어자) 접근제한자 (Access Modifier = 접근제어자) 대상에 대한 접근 범위를 제어하는 키워드 클래스, 메서드, 변수 등에 사용 가능 defalut = 기본값 -종류 public protecded default private Getter/Setter 메서드 클래스 내에서 private 접근제한자로 선언된 인스턴스 변수 등에 접근하기 위해 클래스 내에서 제공하는 중개 역할의 메서드 1. Getter : 내부 인스턴스 변수의 값을 외부로 리턴하는 메서드 getXXX()형식의 이름을 사용하여 메서드 정의 파라미터는 없고, 리턴값만 잇는 메서드 형태로 정의 2. Setter : 외부로부터 값을 전달받아 내부 인스턴스 변수에 저장하는 메서드 setXXX() 형식의 이름을 사용하여 메서드 정의 파라미터는 있고,.. 2020. 5. 28. 가변인자 Variable Arguments (VARARGS) = 가변 인자 = 비정형 인자 메서드 파라미터의 인자가 변하는 형태(갯수의 제한이 없는 인자) 메서드 선언부의 파라미터 부분에 변수 선언 시 가변인자 기호(...)를 사용하여 표현 => 파라미터의 데이터 타입 뒤에 ... 기호를 붙임 - 가변인자를 사용하여 메서드를 정의하면 메서드 호출 시 파라미터 갯수에 제한이 없어짐 => 단, 같은 타입의 인자만 전달 가능 - 전달받은 데이터는 변수명에 해당하는 1차원 배열로 자동으로 생성됨 - 주의! 가변인자는 마지막 파라미터로 단 한번만 지정 가능 Parameter = 매개변수(받는값) Arguments = 전달변수(주는값) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 제한자 리턴타.. 2020. 5. 27. 메서드 오버로딩(Method Overloading) 메서드 오버로딩(Method Overloading) = 메서드 다중정의 동일한 이름의 파라미터가 다른 메서드를 여러번 정의 하는 것 동일한 기능을 수행하지만, 전달받는 파라미터가 달라야 할 경우 메서드 이름을 각각 따로 지정해야하지만, 오버로딩을 사용하여 정의하면 메서드 이름을 동일하게 정의하고 파라미터만으로 각각의 메서드를 구별할수 있다 -주의사항 메서드 시그니쳐(이름,리턴타입,파라미터,접근제한자)중에서 파라미터를 제외한 나머지는 동일하게 정의함 => 외부에서 호출할 때 메서드 파라미터(소괄호) 데이터만으로 각 메서드를 구분하도록 함 1. 메서드 파라미터의 타입이 달라야함 2. 메서드 파라미터의 갯수가 달라야함 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 class Ove.. 2020. 5. 27. 이전 1 ··· 4 5 6 7 8 9 10 다음