JAVA
기본형매개변수
기본형매개변수
2022.03.26기본형 매개변수 변수의 타입에는 크게 2가지가 있다. 메서드의 매개변수가 기본형일 때와 참조형일 때의 차이가 있다. 굉장히 중요하니, 그 차이를 정확히 알아야 한다. 이번시간 공부하는 내용과 다음 시간의 공부내용을 비교하며 숙지하자. 기본형 매개변수 - 변수의 값을 읽기만 할 수 있다.(read only) 참조형 매개변수 - 변수의 값을 읽고 변경할 수 있다. (read & write) 기본형 매개변수의 경우 변수의 값을 읽기만 할 수 있다. 참조형 매개변수의 경우에는 값을 읽고 변경할 수 있다는 특징이 있다. [Ex6_6] class Data {int x;} public class Ex6_6 { public static void main(String[] args) { Data d = new Data()..
호출 스택 (call stack)
호출 스택 (call stack)
2022.03.26스택 (call) 호출스택을 공부하기 전에, 먼저 스택에 대해 알아보자. 스택 (stack) : 밑이 막힌 상자. 위에 차곡차곡 쌓인다. 스택은 어떤 특징이 있냐면, 무언가를 집어넣으면 차곡차곡 쌓인다. 위의 그림은 스택에 무언가를 넣을때의 그림이다. 이 그림은 스택에서 무언가를 꺼낼 때의 그림이다. 스택은 FILO(First-In-Last_Out) 방식으로 작동한다. 스택은 위로 뚫린 공간으로만 넣을 수 있으며, 이렇게 동작시킬 수는 없다. 이런 특징을 가지고 있는 것이 특징이다. 호출 스택 (call stack) 메서드 수행에 필요한 메모리가 제공되는 공간 메서드가 호출되면 호출스택에 메모리 할당, 종료되면 해제 이 그림을 보면, 처음에 main메서드가 호출되서 스택에 올라가있는 그림인데, main메..
return문, 반환값
return문, 반환값
2022.03.26return문 실행 중인 메서드를 종료하고 호출한 곳으로 되돌아간다. 예를들어 printGugudan이라는 메서드는, 단을 입력하면 해당 단을 출력해주는 메서드다. 만약에, 3단을 출력하고 싶으면, 파라미터에 3을 넣어주면 된다. 그러면, 구구단 3단이 출력된다. 근데 메서드의 if문을 보면, 입력한 값이 2단에서 9단 사이가 아니면, return을 해서 더이상 작업을 진행하지 않고, 자신을 호출한 곳으로 돌아간다. 즉, 무조건 메서드한테 일을 시키는 것이 아니라, 조건이 맞지 않으면, 작업을 하지않고 return을 사용하여 중단 시킬 수 있다. 원래는 메서드 마지막에 또 return을 써야하는데, 메서드가 작업을 마쳤을 때, 원래 호출한 곳으로 돌아가기 위함이다. 그치만, 매번 써주기 귀찮으므로 보통 ..
메서드 호출과 메서드의 실행흐름
메서드 호출과 메서드의 실행흐름
2022.03.25메서드의 호출 우리가 이렇게 메서드를 만들어 놓았어도, 이 메서드가 저절로 실행되지는 않는다. 메서드를 호출해야 비로소 메소드안의 문장들이 실행된다. 이번시간에는 메서드의 호출에 대해서 배워 볼 것이다. 메서드 호출은 그냥 메서드를 불러서 작업 시키는 것이다. 메서드를 호출하는 방법은 간단하다. 메서드이름(값1, 값2, ...);// 메서드를 호출하는 방법 메서드이름(값1, 값2, ...); 로 사용하면 된다. 메서드를 호출 할 때 괄호 안은, 메서드가 작업하는데 필요한 값들을 입력해주면 된다. 필요한 값이 없을 때는 아무것도 안써주면 된다. 메서드 호출의 예를 몇가지 살펴보면, print99danAll();// void print99danAll()을 호출 int result = add(3, 5);// ..
메서드란? 메서드의 선언부와 구현부
메서드란? 메서드의 선언부와 구현부
2022.03.25메서드란? 1. 문장들을 묶어놓은 것. {} - 작업단위로 문장들을 묶어서 이름 붙인것 (메서드) 프로그래밍에서 코드의 중복은 상당히 나쁘게 본다. 코드의 중복은 반드시 제거해야 한다. 오른쪽 코드는, 왼쪽에서 배열을 출력하는 작업을 별도의 메서드로 만든 것이다. 해당 코드를 {} 안에 넣었다. printArr이라는 메서드로 만든 것이다. 메서드를 사용하는 방법은 쉽다. 메서드이름에다가 괄호쳐주고 사용하면 된다. 이렇게 메서드를 사용하는 것을 메서드 호출이라고 한다. (메서드 사용) 이렇게 중복된 코드를 메서드로 묶은다음, 메서드를 호출하는 방식으로 사용하면 코드가 훨씬 간결해진다. 2. 값(입력)을 받아서 처리하고, 결과를 반환(출력) 예를 들어서 add라는 메서드가 있다고 가정해보자. add메서드가 ..
클래스 변수와 인스턴스 변수
클래스 변수와 인스턴스 변수
2022.03.25이전시간에 , 선언 위치에 따라서 변수의 종류가 달라질 수 있다고 했다. 클래스 영역에 선언된 변수인 iv와 cv이 둘의 차이점에 대해서 알아보도록 하겠다. 클래스 변수와 인스턴스 변수 예를 들어서 이렇게 포커카드가 있다고 했을 때, 이 카드의 속성은 뭐가 있을까? 숫자, 무늬 폭, 높이 등의 속성이 있다. 그리고 카드하나하나가 card객체이다. 그리고 card객체마다 숫자, 무늬는 개별값이다. 즉, 숫자 무늬같은 개별값은 객체마다 다르게 유지되어야 하는 값이다. 그리고 폭하고 높이는 모든 card객체가 공통적으로 가져야 하는 값이다. 그래서 모두 같은 속성일지라도, 무늬와 숫자속성은 개별속성, 폭과 높이는 공통속성이다. 객체마다 다르게 유지되어야 하는 속성은 개별속성 이고, iv(인스턴스변수)로 나타내..