728x90

 

메소드(method)

다른 프로그래밍 언어에는 함수라는 것이 별도로 존재한다. 하지만 자바는 클래스를 떠나 존재하는 것은 있을 수 없기 때문에 자바의 함수는 따로 존재하지 않고 클래스 내에 존재한다.

자바는 이러한 클래스 내의 함수를 메소드라고 부른다.

※ 보통 함수와 메소드가 공존하는 언어(예:파이썬)에서는 두 개를 구분하여 말하기도 하지만 자바는 보통 메소드와 함수를 구분하여 말하지 않는다. 다만 자바에서 사용되는 함수의 정확한 명칭은 메소드

위 내용의 출처 : 점프투자바

 

역할

입력을 가지고 어떤 일을 수행한 다음에 결과물을 내어놓는 것, 이것이 메소드가 하는 일

 

구조

입력값 -> 메소드 -> 리턴값

메소드는 들어온 입력값을 가지고 어떤 처리를 하여 적절한 리턴값을 돌려주는 블랙박스와 같다.

기능부분에 생성자도 있지만 메소드도 있다

 

 

메인메소드( main method)

메인메소드는 모든 형태를 다 가지고 있다

public static void main(String[] args) {
[접근제한자] [예약어] 반환타입 메소드명(매개변수) {

  - 생략가능 : 접근제한자 예약어 매개변수

 

  1. 접근 제한자
  2. 예약어
  3. 반환타입
  4. 매개변수
  5. 표현식 종류 4가지

 

접근제한자 : public private protected default

예약어 : static final 등

반환타입 :

     A. void : 반환할 게 없음. 반환값이 없다고해서 안쓰면 생성자처럼 됨. 필히 쓸 것

     B.기본자료형을 반환하는 메소드

           ex) Integer.parseInt, chataAt(), Math.random(), String.equals(),String.length() 등등

C.배열을 반환 : Arrays.copyOf()

D.클래스를 반환 : Scanner.nextLine() .nextInt 등등

메소드명

매개변수

 


1) 접근 제한자

 

2) 예약어

 

3) 메소드 반환형

 

4)메소드 매개변수

1.() : 매개변수 없음 = 전달할 값이 없음

2.기본자료형

3.배열 : 얇은 복사(주소값)

4.클래스

5.가변인자 : 매개변수의 개수가 정해지지 않은 유동적 설정

      ex)printf() - 공식API문서 printstream 확인가능

자료형... 변수명 // ...은 가변의미를 나타냄

 

※ 매개변수와 인수

public class Sample {
    int sum(**int a, int b**) {  // a, b 는 **매개변수**
        return a+b;
    }

    public static void main(String[] args) {
        Sample sample = new Sample();
        int c = sample.sum(**3, 4**);  // 3, 4는 **인수**

        System.out.println(c);  // 7 출력
    }
}

 

5) 표현식 종류 4가지

1)반환타입 o 매개변수 o 메소드

2)반환타입 o 매개변수 x 메소드

3)반환타입 x 매개변수 o 메소드

4)반환타입 x 매개변수 x 메소드

 

 


 

메소드와 생성자 구분법

구분기준 : 반환 여부

public Book() {

} // 반환타입이 없으므로 생성자

반환타입 o : 메소드

반환타입 x : 생성자

728x90
반응형
728x90

 

<이클립스 eclipse 간편단축키>

 

소문자 전체를 대문자로 바꾸는 단축키

ctrl + shift + x

 

코드 자동 생성

alt + shift + s

단축키를 누르면 아래의 창이 뜬다

 

getter & setter 자동 생성

model.vo 클래스에서 필드 부분만 작성 한 후, alt + shift + s해서 Generate Getter and Setter 클릭

아래처럼 자동 생성해준다

 

 

생성자 자동 생성

model.vo 클래스에서 필드 부분만 작성 한 후, alt + shift + s해서 Generate Constructor using Filelds 클릭

 

toString 메소드 자동 생성

model.vo 클래스에서 필드 부분만 작성 한 후, alt + shift + s해서 Generate to String()... 클릭

 

이제 힘들게 model.vo 코드들을 일일히 다 쓸 필요없다. 시간과 에너지를 아끼고 새거 배우는데 집중하자

 

 

728x90
반응형
728x90

 

model.VO

Override toString() + setter/getter

 

package MVC.model.vo;
import java.sql.Date;

public class pModelVo07 {
//  VO : Vaule Object
//		 데이터를 잠시 담아두는 ‘임시 저장공간’
//    	 변수로써 사용
//	 	 Read-Only속성을 값 오브젝트
//   	  자바에서 단순히 값 타입을 표현하기 위해 불변 클래스(Read-Only)를 만들어 사용

	private int empNo; // 사번
	private String empName; // 이름
	private String job; // 직책
	private int mgr; // 직속 상사(manager)
	private Date hireDate; // java.sql.Date // 고용일
	private int sal; // 급여
	private int comm; // 커미션(인센티브)
	private int deptNo; // 부서번호

	
	public pModelVo07() {}
	public pModelVo07(String job, int sal, int comm) {
		this.job = job;
		this.sal = sal;
		this.comm = comm;
	}
	public pModelVo07(int empNo, String job, int sal, int comm) {
		this(job, sal, comm);
		this.empNo = empNo;
	}
	public pModelVo07(int empNo, String empName, String job, int mgr, int sal, int comm, int deptNo) {
		this(job,sal,comm);
		this.empNo = empNo;
		this.empName = empName;
		this.mgr = mgr;
		this.deptNo = deptNo;
	}
	public pModelVo07(int empNo, String empName, String job, int mgr, Date hireDate, int sal, int comm, int deptNo) {
		this(job,sal,comm);
		this.empNo = empNo;
		this.empName = empName;
		this.mgr = mgr;
		this.deptNo = deptNo;
		this.hireDate = hireDate;
	}
	
	public int getEmpNo() {
		return empNo;
	}
	public String getEmpName() {
		return empName;
	}
	public String getJob() {
		return job;
	}
	public int getMgr() {
		return mgr;
	}
	public Date getHireDate() {
		return hireDate;
	}
	public int getSal() {
		return sal;
	}	
	public int getComnn() {
		return comm;
	}
	public int getDeptNo() {
		return deptNo;
	}
	
	public void setEmpNo(int empNo) {
		this.empNo = empNo;
	}
	public void setEmpName(String empName) {
		this.empName = empName;
	}
	public void setMgr(int mgr) {
		this.mgr = mgr;
	}
	public void setHireDate(Date hireDate) {
		this.hireDate = hireDate;
	}
	public void setSal(int sal) {
		this.sal = sal;
	}
	public void setComm(int comm) {
		this.comm = comm;
	}
	public void setDeptNo(int deptNo) {
		this.deptNo = deptNo;
	}
	
	
	@Override
	public String toString() {
		return empNo+" / "+empName+" / "+job+" / "+mgr+" / "+hireDate+" / "+sal+" / "+comm+" / "+deptNo+" / ";
	}
	
}
728x90
반응형
728x90

 

 

 

실행 클래스

package com.kh.example.practice5.run;

import com.kh.example.practice5.model.vo.Employee;

public class Run {
	public static void main(String[] args) {

		Employee e = new Employee();
		e.setEmpNo(100);
		e.setEmpName("홍길동");
		e.setDept("영업부");
		e.setJob("과장");
		e.setAge(25);
		e.setGender('남');
		e.setSalary(2500000);
		e.setBonusPoint(0.05);
		e.setPhone("010-1234-5678");
		e.setAddress("서울시 강남구");
				
		e.getEmpNo();
		e.getEmpName();
		e.getDept();
		e.getJob();
		e.getAge();
		e.getGender();
		e.getSalary();
		e.getBonusPoint();
		e.getPhone();
		e.getAddress();
		
		int eNo = e.getEmpNo();
		String eName = e.getEmpName();
		String dept_ = e.getDept();
		String job_ = e.getJob();
		int age_= e.getAge();
		char gender_ = e.getGender();
		int salary_ = e.getSalary();
		double bonus_ = e.getBonusPoint();
		String phone_ = e.getPhone();
		String addrs = e.getAddress();
		
		System.out.println("empNo : " + eNo);
		System.out.println("empName : " + eName);
		System.out.println("dept : " + dept_);
		System.out.println("job : " + job_);
		System.out.println("age : " + age_);
		System.out.println("gender : " + gender_);
		System.out.println("salary : " + salary_);
		System.out.println("bonus : " + bonus_);
		System.out.println("phone : " + phone_);
		System.out.println("address : " + addrs);
		
	}

}

기능클래스

package com.kh.example.practice5.model.vo;
public class Employee {
	
	private int empNo;
	private String empName;
	private String dept;
	private String job;
	private int age;
	private char gender;
	private int salary;
	private double bonusPoint;
	private String phone; 
	private  String address;
	
	// 기본 생성자
	public Employee() {

	}
	
	public Employee(int empNo, String empName) {
		this.empNo = empNo;
		this.empName = empName;
	}
	public Employee(int empNo, String empName, String dept, String job,	int age, 
			char gender, int salary, double bonusPoint, String phone, String address) {
		this.empNo = empNo;
		this.empName = empName;
		this.dept = dept;
		this.job = job;
		this.age = age;
		this.gender = gender;
		this.salary = salary;
		this.bonusPoint = bonusPoint;
		this.phone = phone;
		this.address = address;
	}
	
	// setter
	public void setEmpNo(int empNo) {
		this.empNo = empNo;
	}
	public void setEmpName(String empName) {
		this.empName = empName;
	}
	public void setDept(String dept) {
		this.dept = dept;
	}
	public void setJob(String job) {
		this.job = job;
	}	
	public void setAge(int age) {
		this.age = age;
	}
	public void setGender(char gender) {
		this.gender = gender;
	}	
	public void setSalary(int salary) {
		this.salary = salary;
	}
	public void setBonusPoint(double bonusPoint) {
		this.bonusPoint = bonusPoint;
	}	
	public void setPhone(String phone) {
		this.phone = phone;
	}
	public void setAddress(String address) {
		this.address = address;
	}
	
	
	// getter
	public int getEmpNo() {
		return empNo;
	}
	public String getEmpName() {
		return empName;
	}
	public String getDept() {
		return dept;
	}
	public String getJob() {
		return job;
	}	
	public int getAge() {
		return age;
	}
	public char getGender() {
		return gender;
	}	
	public int getSalary() {
		return salary;
	}
	public double getBonusPoint() {
		return bonusPoint;
	}
	public String getPhone() {
		return phone;
	}
	public String getAddress() {
		return address;
	}
	
	
	
}

 

 

728x90
반응형

+ Recent posts