Java - Return
JAVA(자바), Python(파이썬) 기반의
AI 활용 응용 소프트웨어 개발자 양성 과정
찾으시는 정보가 있으시다면
주제별reference를 이용하시거나
우측 상단에 있는 검색기능을 이용해주세요
14일차 수업
========복습========
class Yesterday { //클래스 정의: name Yesterday
String str; //필드 선언 : 선언만 한 필드, 대입을 하려면 메소드를 이용
int ii = 1; //선언과 대입(초기화) 동시에 가능
str = "hello"; //대입만 하려고 하면 오류
void test(){ //메소드 정의 : name test
//변수 선언, 제어문, 출력문 등
} //필드를 활용하여 데이터를 등록, 수정, 삭제 등등 하는 기능
void testPram(int i, String s){
//매개변수를 이용하여 메소드에서 사용하고자하는 시작값을 정의
//호출할 때 매개 변수의 순서, 자료형, 개수를 작성하여 값을 입력해줘야함
//호출이 정확하게 이뤄지면 호출과 동시에 시스템에 등록(선언)
//시스템에 우리가 보이지 않게 실행
//int i = 호출할 때 입력한 숫자
//String s = 호출할 때 입력한 글자
}
클래스
- (하고자 하는 약속) : 설계도, 정의서, 틀
구조
-
필드(상태, 스펙 등등)
- 클래스 내에서 저장하고 사용해야 하는 데이터, 변수
-
메소드
- 필드의 데이터를 가지고 변경, 관리하는 기능, 데이터와 무관한 기능도 가능
인스턴스
- 클래스를 객체화(new)
정의서나 설계를 실제로 구현하는 것이 인스턴스
시스템에서 사용하도록 등록한 것 : 클래스를 인스턴스화 했다
동일한 클래스를 2번 new(인스턴스)를 하면 2개의 인스턴스가 생성됨
이 2개의 인스턴스는 서로 다른 구현체(객체)
Yesterday y = new Yesterday();
-
클래스 내에 있는 필드를 호출
-
클래스를 인스턴스화 한 변수명. 필드명
- y.str
-
클래스에서 정의된 필드에 값을 대입(초기화)
- y.str = “hi”;
-
클래스 내에 있는 메소드를 호출
-
클래스를 인스턴스화 한 변수명. 메소드명
-
y.test();
-
-
메소드
괄호안에 값이 있다 : 매개변수가 정의된 것임
매개변수가 정의가 되어있다 : 인자(아규먼트)를 작성해야한다
인자는 매개변수의 순서, 자료형, 개수 일치해야함
y.testPram(0, null);
argument : 인자(전달인자), 메소드의 입력값
parameter : 매개변수, 메소드에서 사용할 변수명
======== 끝 ========
14일차 수업
메소드
클래스 내에 있는 필드의 데이터나 별도의 데이터를 수정하는 기능
그러기 때문에 클래스 내에 존재해야함
메소드 내 메소드는 불가능
() : 파라미터 값이 선언되는 공간
- 그 공간에는 해당 메소드를 호출할 때 사용할 변수를 미리 받을 수 있도록 정의하는 공간
외부입력 받은 값을 우리는 내부에서 작업을 해야함
-
외부입력 : 메소드 호출할 때 작성하는 인자
-
내부 : 호출된 메소드 안
메소드 호출 : 클래스명.메소드
- 같은 클래스 내의 메소드는 클래스명을 생략 가능
내부에서 작업을 한 결과를 다시 외부 전달해줘야 우리가 원하는 흐름이 완성됨
외부 호출 > 내부처리 > 외부 결과 전달
외부 호출 > 내부처리 > 내부에서 처리한 결과를 다른 메소드에서 호출
다른 메소드에 필요한 값을 내부에서부터 받아야 함
return
메소드에서 결과를 우리가 원하는 공간에 데려올 수 있다!
void
-
반환값이 없다 » 호출이 완료되고 나서 나는 너에게 줄게 없다
-
return을 할 때 return 값에 대한 자료형 선언을 담당 : void
return이 있다 > void를 쓸 수 없다, 반환값이 있다, 반환값에 대한 자료형이 있다
- int String 등을 사용해서 리턴값에 대한 자료형을 void 대신에 선언,
예시
public static int calc(int a, int b){
int result = a + b;
result result;
}
-
메소드 호출이 되고 해당 줄까지 진행이 되고 난 후에
-
return 이라는 반환 키워드를 이용해서 호출을 한 메소드로 다음 값을 전달
-
return을 만나면 바로 반환을 시작 : 반환 대상은 result 라는 변수에 담긴 값
-
break처럼 return을 만나면 메소드가 바로 종료
-
return; => 반환하는 값이 없다 > void 허용