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++에서는 직접없애줬어햐한다
가비지 콜렉터로 없애준다

 

 

 

 

반응형