1. 메서드(method)
1-1. main( ) 메서드
- java프로그램이 시작되는 시작점을 의미하는 main은 'public', 'static', 'void', 'main', '(String[] args)'라는 키워드로
구성된 하나의 {...} 블록이다.
1-2. 메서드
- f(x) = x + 1
- 위와 같이 정의된 함수는 다음과 같이 여러번 재사용이 가능하다.
- f(1) -> 2
f(2) -> 3
f(5) -> 6
- 프로그램의 함수 = 메서드
-> 특정 기능(=연산)을 그룹화 해서 재사용하기 위한 단위
public static void 메서드이름( ){
.. 수행할 연산식 ..
}
- 메서드의 호출
-> 정의된 메서드는 다른 메서드를 구성하는 {...} 안에서 다음의 형식으로 사용될 수 있으며,
이를 메서드를 호출한다고 한다.
메서드이름( );
1-3. 메서드 파라미터
- 수학의 매개변수
- 함수 f(x)는 주어지는 x값에 따라서 각각 다른 결과를 만들어 낸다.
- 수학에서는 함수 f가 연산을 수행하기 위해서 주어지는 조건값을 매개변수라고 한다.
- 메서드 파라미터
- java프로그램의 메서드(=함수)는 자신이 실행되는데 필요한 조건값을 메서드
이름 뒤의 괄호안에서 변수 형태로 선언한다. 이를 메서드 파라미터 라고 한다.
public static void 메서드이름( 변수형 변수이름 ){
....
}
- 다중 파라미터
- 메서드가 연산을 수행하는데 두 개 이상의 파라미터가 필요하다면 콤마(,)로
구분하여 선언할 수 있다.
public static void 메서드이름( 변수형 변수이름, 변수형 변수이름 ){
...
}
- 파라미터를 갖는 메서드의 호출
- 메서드 정의하면서 파라미터가 명시되어 있다면 해당 메서드를 호출하면서
파라미터를 전달해 주어야 한다.
메서드이름(값1, 값2);
1-4. 값을 반환하는 메서드
- 함수의 결과값
- 함수는 자신이 포함하고 있는 수식에 대한 결과를 반환한다.
f(x) = x + 1
y = f(5) // y에는 6이라는 결과값이 대입된다.
- 메서드의 리턴값
- 메서드가 연산 결과를 자신이 호출된 위치에 반환하는 것을 "리턴" 이라고 하며,
반환되는 값을 "리턴 값" 이라고 한다.
- 메서드 안에서 값을 리턴하기 위해서는 "return"이라는 키워드가 사용된다.
- 값을 리턴하는 메서드는 선언시에 "void"키워드 대신, 리턴하는 값에 대한 변수형이 명시된다.
void는 리턴값이 없다는 의미이다.
public static 리턴형 메서드이름(변수형 파라미터1, 변수형 파라미터2, ..){
....
return 리턴값;
}
1-5. 메서드간의 상호 호출
- JAVA의 메서드 역시 서로 호출하는것이 가능하다. 호출된 메서드가 값을 리턴하는 경우,
리턴받은 값을 다른 연산에 사용할 수 있다.
public static 리턴형 메서드1(변수형 파라미터1, .., 변수형 파라미터n){
return 리턴형;
}
public static 리턴형 메서드2이름(변수형 파라미터1, .., 변수형 파라미터n){
int k = 메서드1(파라미터1, ..., 파라미터2);
return k;
}
2. 클래스
2-1. 객체(=Object)
- 프로그래밍에서의 객체 : 프로그램에서 표현하고자 하는 기능을 묶기 위한 단위
2-2. 객체를 구성하는 단위
- 객체를 이루는 것은 데이터와 기능이다.
-> 데이터는 변수로 표현된다.
-> 객체안에 포함된 변수를 '멤버변수' 혹은 '프로퍼티'라 한다.
- 기능은 메서드(=함수)로 표현된다.
객체 - 프로퍼티=멤버변수(변수)
- 함수=메서드
2-3. 클래스와 객체의 관계
- 객체를 생성하기 위해서는 객체의 설계도가 필요하다.
- 클래스(=class)
-> 객체의 설계도 역할을 하는 프로그램 소스
- 공장에서 하나의 설계도를 사용하여 여러 개의 제품을 생산할 수 있는 것처럼
하나의 클래스를 통해 동일한 구조를 갖는 객체를 여러 개 생성할 수 있다.
2-4. 자동차 클래스의 예
- 자동차의 엔진, 문, 바퀴 등과 같이 명사적인 특성은 멤버변수로 존재한다.
- 전진, 후진 등과 같이 동사적인 특성은 메서드의 형태로 표현된다.
- 동일한 설계로 만들어진 자동차라 하더라도 각각의 자동차를 구성하는 부품들은 그 형태만 같을 뿐,
실제로는 각각 존재하게 된다.
- 클래스를 작성하면서 그 안에 생성되는 멤버변수들은 여러 개의 객체간에 서로
동일한 이름으로 존재하지만 실제로는 서로 다른 값이라는 의미
2-5. 클래스의 기본 작성 방법
class 클래스 이름{
멤버변수;
void 메서드이름(){
...
}
}
- 'class'라는 예약어와 클래스의 이름을 명시하고 {...} 블록을 구성한다.
- 멤버변수는 여러개 존재할 수 있다. 이 때, 값을 선언과 동시에 할당할 수도 있고,
객체를 통해 간접적으로 할당할 수도 있다.
- 메서드는 여러개 존재할 수 있다.
- 클래스 안에 포함된 멤버변수와 메서드를 특성에 따라 그룹화 하기 위한 기법이
클래스를 작성하는 것이라고 이해할 수 있다.
2-6. 객체의 생성 방법
- 객체의 선언
클래스이름 객체이름;
- 객체의 할당
객체이름 = new 클래스이름();
- 선언과 할당의 통합
클래스이름 객체이름 = new 클래스이름();
2-7. 객체의 사용
- 객체 안에 포함된 변수나 메서드는 점(.)으로 연결하여 접근한다.
-> 객체 안에 포함된 변수의 값을 다른 변수에 복사하는 경우
값 = 객체이름.멤버변수;
-> 객체 안에 포함된 변수의 값에 다른 값을 대입하는 경우
객체이름.멤버변수 = 값;
-> 객체 안에 포함된 메서드를 호출하는 경우
객체이름.메서드이름();
-> 객체안에 포함된 메서드에 파라미터를 전달하는 경우
객체이름.메서드이름(값1, 값2, ..., 값n);
'JAVA' 카테고리의 다른 글
[JAVA] 생성자와 은닉성 (0) | 2021.10.09 |
---|---|
[JAVA] 클래스와 this (0) | 2021.10.07 |
[JAVA] Scanner (0) | 2021.10.04 |
[JAVA] 배열 (0) | 2021.10.01 |
[JAVA] 반복문 (0) | 2021.09.28 |