Languages/Java
[JAVA]JAVA 함수, 클래스, 인스턴스
환테크
2021. 2. 18. 15:34
반응형
함수란?
하나의 기능을 수행하는 일련의 코드
중복되는 기능은 함수로 구현하여
함수를 호출하여 사용한다.
함수를 왜 쓰나요?
1. 각 각의 기능이 구별되어 기능해야하기 때문에
2. 오류 시 발견이 쉽다
아래 코드와 같이 addnum이라는 함수를 선언하여 리턴,
위 함수에 사용함 이 때, 매게 변수의 이름이 달라도 상관이 없다.
package classpart;
public class FunctionTest {
public static void main(String[] args) {
int num1 = 10;
int num2 = 30;
int sum = addNum(num1, num2);
System.out.println(sum);
}
//함수 선언 반환타입, 함수이름, 매게변수 함수를 정의한다
public static int addNum(int n1,int n2) {
//매게 변수 이름은 상관이 없다!
int result = n1 + n2;
return result;
}
}
클래스와 인스턴스
기존의 만들었던 객체를 통해서
그 객체들을 클래스로 표현
만들어진 코드를 통해서 인스턴스(생성)화 한다.
클래스 생성하기
클래스를 사용하기 위해서는 클래스를 생성해야한다
new예약어를 이용하여 클래스 생성
클래스형 변수 이름 = new생성자;
ex)가로와 세로의 값을 구해서 지름의 값을 구하려고 할 떄,
먼저 point함수의 가로(x)와 세로(y)값을 선언하고
circle함수에 클래스를 생성 하여 사용
꼭 이렇게 할 필요는 없지만 구별의 기능과 오류를 최소화 하기 위함
package Reference;
public class Point {
int x;
int y;
}
package Reference;
public class Circle {
Point point;
int radius;
public Circle() {
point = new Point();
}
}
메모리
함수의 스택 메모리는?
함수가 호출되면 지역변수가 쌓인다
함수가 끝나면 스틱이 없어진다
인스턴스의 힙 메모리는?
뉴라는 키워드로 인해 생성
자동으로 없어지지 않고 없애줘야한다
c++에서는 직접없애줬어햐한다
가비지 콜렉터로 없애준다
반응형