DAY_6

DAY_6

day_6 정리 (2021.11.08 월요일)

클래스

변수와 메소드들의 집합 하나의 클래스는 여러 개의 변수와 메소드를 가지게 된다.

클래스를 설계할 때 메소드와 변수를 잘 모아서 표현하는 것이 중요하다. 메소드

함수라고도 한다. 함수와 기능적 차이는 없다고 봐도 무방

자바는 반드시 클래스가 있어야 하기 때문에 자바에서는 전부 메소드라고 표현한다.

프로그래밍 언어에서는 프로그램을 이루는 기본 단위 명령어들의 집합 소스코드의 관리 편의성을 위해(재사용성) 개발됨.

메소드를 정의하면 무한하게 호출하여 사용할 수 있다.

호출할 때 메소드의 원형을 그대로 따라야 한다.

선언된 형태에 따라서 필요한 값을 호출할 때 순서, 타입, 갯수를 정확하게 명시해야 한다.

자바에서 메소드의 기본 형태 [반환타입] [메소드 이름] (타입 변수명, 타입 변수명, ...) { 메소드 블록 }

자바에서 main 메소드는 특별하다. 자동으로 실행되기 때문. 모든 코드는 main부터 실행 시작된다. 나머지는 직접 실행 시켜줘야 한다. 이를 메소드 호출이라 한다. 메소드는 언제 실행 되는가

호출할 때 실행된다.

메소드의 실행은 메소드를 위한 공간이 메모리에 만들어짐을 의미 메소드는 실행되는 동안 메소드 고유의 메모리 영역을 갖는다. 이것을 콜스택(호출스택)이라 부름. 메소드를 위한 메모리는 구분되는 공간이다. 메소드와 메소드끼리는 원칙적으로 메모리 공간을 침범할 수 없다. 해킹을 통해서는 가능. 메소드는 언제 종료 되는가

메소드 블록 내에 더 이상 실행 할 코드가 없으면 자동으로 종료

'return'이 수행되면 종료

메소드의 종료는 메모리의 삭제를 뜻한다.

메소드가 실행 중 사용했던 모든 메모리가 반남

남아 있지만 참조는 불가능 자바의 변수 종류

클래스 변수

인스턴스(객체) 변수

지역 변수 메소드 내에서 선언(정의)된 변수 Parameter도 지역변수 지역 변수는 메소드의 범위를 벗어날 수 없다. 타입에 따른 입력값 전달

자바에서의 변수 종류 기본형(boolean, byte, char, short, int, float, double) 참조형(String, Array, ...)

public class Method { // 가장 기본적 형태의 메소드 // 입력도, 출력도 없다 // 자바에서는 클래스 내부에서 선언된다. static void method() { // 메소드 정의 Callee 피호출자 // return 값이 없는 메소드는 void System.out.println("메소드가 실행됐다."); } // 다양한 형태의 메소드 // 1. 입력이 있는 메소드(Parameter(매개변수), argument(인자) // 메서드 실행에 필요한 입력값을 미리 정의 // 개수의 제한은 없지만 많으면 많을 수록 속도가 느려진다. static void add(int x, int y) { System.out.println(x + y); } // 2. return이 있는 메소드 // 메소드가 끝나면 돌려주는 값이 존재하는 메소드 // 돌려줄 값이 없어도 메소드가 잘 종료됐는지 등을 위해 값을 반환하는 것이 좋다. // 메소드 선언할 때 정의한 타입과 실제 리턴되는 값의 타입은 반드시 일치해야 한다. static int add2(int x, int y) { return x+y; } /*=======================================================*/ public static void main(String[] args) { System.out.println("main 메소드 실행"); // 메소드는 실행 전 까지는 실행되지 않는다. method(); // Caller 호출자 add(3,4); // 메소드가 돌려주는 값을 받아서 처리해야 한다. int re = add2(10, 20); System.out.println(re); System.out.println(add2(1,2)); } }

from http://5bong2-develop.tistory.com/17 by ccl(A) rewrite - 2021-11-08 18:01:59