class - methods

apayaya·2022년 3월 13일
0

methods

  • class에 종속

method 호출

  • 메서드 호출시 call stack에 새롭게 메모리 할당
    • 메서드 수행되는 동안 지역변수, 매개변수들을 저장
    • 메서드 완료시 반환
  • 리턴값이 존재하는 경우 자신을 호출한 메서드로 반환값 전달
  • 기본적으로 main 메서드가 가장 먼저 호출됨
  • call stack이 비워지면 프로그램 종료

Instance methods

  • local variable
    • (instance) 메서드 내부에서 선언된 변수, 지역변수
    • (instance) 메서드가 실행될때 생성되며 종료되면 메모리에서 사라짐
  • argument
    • 메서드를 호출할때 전달하는 값 (인자)
    • 메서드 호출시 전달한 argument가 parameter에 대입
  • parameter
    • 메서드를 정의할때, 메서드 호출시 전달 받도록 선언한 변수 (매개변수)
    • 메서드의 작업을 위해 외부에서 받아야 하는 값을 선언
    • primitive 타입인 경우 값을 복사
    • reference 타입인 경우 주소만 복사
    • read-only 로 사용하려면 final 키워드와 함께 사용
  • 생성된 instance를 통해서만 호출가능
  • getter, setter : fields의 값을 읽고 쓰는 method
[접근제어자] [리턴타입] [메서드이름] ([... parameters]){		
    [return 리턴값;]
}

Class methods(static methods)

  • 객체 생성하지 않고 사용가능
  • ClassName.methodName()
  • instance methods, instance variables 사용불가능

this

  • 인스턴스를 가리키는 참조변수
  • instance 메서드 내부에서 사용가능

method signature

  • method name, parameter type 으로 구성
  • 리턴 타입은 signature에 포함되지 않음

method overloading

  • 메서드 이름이 같지만, 매개변수가 다른 여러개의 메서드 정의가능
  • 매개변수의 타입, 매개변수의 개수, 매개변수의 순서를 다르게 정의

가변개의 매개변수(Variable arguments) 받는 메서드

  • 매서드 호출시 전달한 가변개수 동일타입 인자를 Array로
  • 메서드 내부에서 Array로 받아서 사용
int sum(int ... values){
// values : int[]
	return Arrays.stream(values).sum();
}
profile
java 정리

0개의 댓글