ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [JAVA]JAVA 함수, 클래스, 인스턴스
    Languages/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++에서는 직접없애줬어햐한다
    가비지 콜렉터로 없애준다

     

     

     

     

    반응형

    'Languages > Java' 카테고리의 다른 글

    [JAVA]JAVA THIS  (0) 2021.02.18
    [JAVA]JAVA 생성자,참조자료형,정보은닉  (0) 2021.02.18
    [JAVA]JAVA 클래스와 객체  (0) 2021.02.17
    [JAVA] JAVA제어문(break,continue,구구단 예제)  (0) 2021.02.17
    [JAVA]JAVA제어문(반복문)  (0) 2021.02.17

    댓글

Designed by Tistory.