메소드
Last updated
Last updated
멤버 메소드는 클래스 내부에 위치하는 코드 저장 블록으로 필요에 의해 호출하여 실행할 수 있다. 다양한 용도로 활용될 수 있기 때문에 여러 가지의 활용법을 살펴보도록 한다.
메소드는 다음의 형태를 가진다.
반환형 : 메소드가 실행된 뒤 반환될 데이터의 형태를 말한다.
이름 : 메소드를 실행하기 위한 호출에 사용된다.
매개변수 : 메소드를 실행하기 위해 필요한 데이터를 저장하는 변수를 말한다.
실행코드 : 메소드가 실행될 때 해야할 작업을 적으며, 위에서 아래로 실행된다.
메소드에서 사용할 수 있는 키워드로 인스턴스 자신, 주인공을 의미한다. 메모리에서 메소드는 인스턴스에 포함되지 않기 때문에 어느 인스턴스에서 실행하였는지 구분하기 위해 this라는 내장 키워드를 제공하며, 이를 통해 실행한 인스턴스에 접근할 수 있다.
메소드를 만들 경우 다음의 내용을 주의해야 한다.
(필수) 메소드는 클래스 안에 만들어야 한다.
(필수) 메소드 간 범위가 겹칠 수 없다.
(필수) 메소드 내부에 메소드를 만들 수 없다.
(권장) 메소드의 이름은 소문자로 시작해야 한다.
위 코드에는 두 개의 메소드가 사용되었다.
setting
setting 메소드의 코드는 다음과 같다.
setting 메소드에서는 name
, price
에 해당하는 값을 외부에서 받아 설정하기 위한 코드가 작성되어 있다. 여기서 같은 이름의 변수가 두 개씩 존재하게 되는데, 그림으로 보면 다음과 같다.
print 메소드의 코드는 다음과 같다.
print 메소드에도 this.name
과 this.price
가 있으며, 이는 마찬가지로 인스턴스가 가진 name
과 price
를 의미한다. 이 메소드에서는 name
과 price
가 한 개씩만 존재하기 때문에 this
는 생략이 가능하다.
멤버 메소드는 클래스에서 기능을 담당하며, 멤버 필드를 이용할 수 있어 다양한 처리가 가능하다. 특화된 형태로 설정 메소드(setter method), 반환 메소드(getter method) 등이 존재하며, 이는 해당 문서에서 살펴본다.