(1) 멤버변수에 값을 저장(맨 처음 저장시킴) -> 초기화 (2) 형식)[접근지정자] 반환형 클래스명() {} void, int, String,, => 반환형을 쓰지 않는다.(void X) =>default Constructor(기본생성자) (3) 차이점 -> 임의로 호출할 수가 없다. -> 객체를 생성시킬때만 자동호출이 되는 메서드 -> ex)신용카드 결재 –> 문자메세지 전달
=>게시판에 글쓰기-> 존재X->존재O , 글수정->존재O->내용을 변경
메서드오버로딩(Overloading) – > 같은 메서드이지만 매개변수의 갯수와 매개변수의 자료형을 다르게 줌으로써 마치 다른 메서드를 호출하게 하는 기법
생성자의 오버로딩 -> 여러개를 작성 ————–> 다양하게 초기값을 부여
메서드 오버로딩 -> 생성자 오버로딩-> 반환형, 접근지정자와는 오버로딩과 상관없다.
생성자-> 멤버변수의 값을 다양하게 초기화 -> 다른 메서드를 호출할 수가 있다.
Ex) PrintTest.java(생성자 오버로딩)
Ex) ThreeTest.java(최대값을 구해주는 프로그램)
Ex) RectHandling.java(직사각형의 면적을 구하는 프로그램)
• 메서드(=부하직원)
main(사장)->부장–>과장->대리->사원
1. main()-> 일반메서드 호출 ->객체명.일반메서드명(~) 2. 생성자 –> 자기 클래스내부의 다른 메서드호출 ->객체명.일반메서드명(~) ->객체명을 생략-> 일반메서드명(~)
Ex) MethodEx.java(매개변수(O),반환값(O)->계산목적, 출력목적)
• this 키워드
1) 생성자 또는 메서드의 매개변수값이 멤버변수와 같게되면 멤버변수와 매개변수를 구분할 수가 없다.(구분 -> this.멤버변수 = 매개변수) 2) this -> 현재 생성된 객체를 가리키는 예약어 생성자?->오버로딩?->this를 부여=>static이유?
Ex) ThisTest.java
Ex)ThisTest2.java(자기 자신을 가리키는 예약어)
(1) 메서드의 종류
1.일반메서드 => 객체생성(메모리공간) ->(=int와 같다)->4byte -> 메서드호출 => 특별한 기능을 가진 2.정적메서드 => 객체생성하지 않아도 메서드호출 (자주 사용, 반복적인 구문의 보편적인 기능) ==>클래스명.정적메서드명() =>비유) 돈을 지불->클릭->커피(객체)
접근지정자 static 반환형 메서드명(~){} 3. 재귀메서드-> 자기가 자신을 호출하는 메서드 =>팩토리얼 계산 Ex) FactoriError.java -> secure 코딩