JAVA BASIC5

으누·2024년 8월 31일

메소드

이름 뒤에 소괄호
단, 키워드 뒤에 소괄호는 메소드가 아니다.


f	(x) 	= 	2x + 1
--	--		--------
메소드	매개		리턴값
이름	변수

int f(int x){
	실행할 문장 생략
	return 2 * x + 1;
}

메소드의 선언

리턴타입 메소드명(자료형 매개변수명, ...){
	실행할 문장;
	return 리턴값;
}

(1)리턴타입 (2)메소드명(자료형 (3)매개변수명, ...){
	(4)실행할 문장;
	(5)return 리턴값;
}

(1)리턴타입
리턴 값이 있다면 리턴 값의 타입(자료형)을 작성한다.
리턴 값이 없으면 void를 작성한다.

(2)메소드명
동사로 작성한다.(소설을 쓴다. / 소설(매개변수) 쓴다(메소드))


(3)매개변수명
외부에서 전달받을 값이 있다면, 자료형과 순서에 맞게 
선언해준다.	

(4)실행할 문장
생략이 가능함, 메소드의 기능을 구현하는 로직을 작성

(5)return 리턴값;
생략이 가능함, 리턴값이 있다면 사용한 부분을 통채로 리턴값으로
봐야한다.

메소드의 선언 순서

문제) 두 정수의 덧셈 메소드 선언

1. 메소드 이름을 생각한다.
	add(){}, plus, sum,...

2. 매개변수를 생각한다.
	add(int number1, int number2){}

3. 실행할 문장을 작성한다.
	add(int number1, int number2){
		int result = number1 + number2;
	}

4. 리턴값을 작성한다.
	add(int number1, int number2){
		int result = number1 + number2;
		return result;
	}

5. 리턴 타입을 결정한다.
	int add(int number1, int number2){
		int result = number1 + number2;
		return result;
	}

메소드 주의사항

메소드를 선언할 때는 {}(중괄호)가 있으며, 반드시 메소드 밖에서 사용한다.
메소드를 사용할 때는 {}(중괄호)가 없으며, 반드시 메소드 안에서 사용한다.

메소드 사용

메소드의 리턴 타입이 void라면 실행 메소드이므로 값으로 봐서는 안된다.
메소드의 리턴 타입이 void가 아니라면 사용한 부분 통채로가 리턴값이다.

메소드 목적

1. 재사용(특정성을 부여해서는 절대 안된다.)
2. 소스코드 간결화

리턴 해야할 때

사용한 쪽에 로직의 결과를 전달해야 할 때 

리턴하면 안될 때

사용한 쪽에 로직의 결과를 전달할 필요가 없을 때

클래스(반) ex. 자동차 반, 음식 반

자동차
String 브랜드
String 컬러
long 가격

엔진스타트(){}
엔진스탑(){}

자동차 엄마차;

자동차 엄마차 = new 자동차()

객체화(instance)

클래스(반)

공통요소를 한 번만 선언해놓고 가져다 사용만 하도록 설계한다.

1. 타입이다.
	클래스 안에 선언된 변수와 메소드를 사용하고 싶다면
	해당 클래스의 타입으로 객체를 선언해야 한다.

2. 주어이다.
	원숭이가 먹는다 바나나를
	Monkey.eat("바나나");

클래스의 선언

class 클래스명 {
	필드(변수, 메소드);
}

클래스 필드의 사용

1. 객체화(instance) :
	- 객체(instance variable)를 만드는 작업
	- 추상적인 개념을 구체화 시키는 작업
	- 클래스명 객체명 = new 생성자();	//선언
	- 객체명.필드명			//사용

※ . (마침표)
- 하위 연산자, 멤버변수 접근 연산자, 닷 연산자, 점 연산자
- 주소값 뒤에서만 사용이 가능하며 해당 주소를 참조하는
명령어다.

2. static 키워드를 사용하여 클래스 이름으로 직접 접근할 수 있다.
static필드는 컴파일러가 최초 한 번만 메모리에 올려주기 때문에
객체로 접근할 필요가 없다. 이러한 필드를 static필드라고 부른다.

생성자

클래스 이름 뒤에 소괄호가 있는 형태, 메소드와 기능은 똑같지만
메소드라고 부르지 않는다. 생성자는 리턴이라는 기능이 존재하지
않기 때문이다.

- 해당 클래스의 필드를 메모리에 할당한 후 부여된 주소값을
가져온다.
profile
코딩 일기장

0개의 댓글