[JAVA] 클래스와 메서드

ITmakesmeSoft·2022년 9월 17일
0

JAVA BASIC

목록 보기
6/7
post-thumbnail

클래스

  • new : 객체를 생성할 떄 사용하는 키워드
  • 객체 변수 : 클래스 내부에 선언된 변수
    class Animal {
    	String name; // 객체변수 생성
    
    	public void setName(String name) { // 객체의 이름을 설정하는 메소드 생성
    		this.name = name; // this는 Animal 클래스에 의해 생성된 객체(dog)를 지칭
    	}
    }
    
    public class Sample {
    	public static void main(String[] args) {
    		Animal dog  = new Animal(); // 객체 생성
    		dog.setName("뭉치");
    		System.out.println(dog.name);
    	}
    }

메서드

  • 클래스 내의 함수

  • 중복되는 코드를 줄이고, 가독성을 높일 수 있음.

  • 메서드와 함수가 공존하는 파이썬과는 달리 자바에서는 메소드와 함수를 구분하지 않음

    		public static void method_name(int a, String params) {
    //  접근           반환    메서드         매개변수 목록
    //  제어자         타입     이름
    
    				// 구현부
    		}
    • 접근 제어자 : 해당 메소드에 접근할 수 있는 범위 명시
      자세히 알아보기
    • 반환 타입(return type) : 메소드가 모든 작업을 마치고 반환하는 데이터의 타입 명시
      • void : 반환값 없음
      • int : int 데이터 타입을 반환
      • char : char 데이터 타입을 반환
      • String : String 데이터 타입을 반환
      • boolean : boolean 데이터 타입을 반환
    • 메서드 이름 : 메서드를 호출하기 위한 이름 명시
    • 매개변수 목록 : 메서드 호출 시 전달되는 인수의 값을 저장할 변수들을 명시
    • 구현부 : 메서드 고유의 기능을 수행하는 명령문의 집합
  • 지역 변수(Local variable) : 메서드 내에서만 쓰이는 변수

    public class Sample {
    	int sum(int a, int b) {
    		return a+b; // a,b는 로컬 변수
    	}
    }
    • 입력값 : int 자료형 a, int 자료형 b
    • 출력값 : int 자료형(메소드 명 좌측에 리턴할 자료형 표기)

메서드 호출

public class Sample {
	int sum(int a, int b) { // a,b는 매개변수(parameter)
		return a+b;
	}

	public static void main(String[] args) {
		// 메소드 호출
		Sample sample1 = new Sample();
		int c = sample.sum(1,2); // 1,2 는 인수(argument)
		System.out.println(c); // 3
	}
}

main method

  • 실행 명령인 java를 실행 시 가장 먼저 호출되는 부분
  • 자바 프로그램이 실행되면 제일 먼저 main()메소드를 찾아 그 안의 모든 명령문을 차례대로 실행
  • 따라서 하나의 자바 프로그램에는 main() 메소드를 가지는 클래스가 반드시 하나는 존재해야 함.
  • 만약, Application에서 main()메소드가 없다면 실행되지 않음
    public class ClassName {
    		public static void main(String[] args) {
    				// 기본 형태
    		}
    }

static

  • static 메서드(class 메서드) 또는 static 변수(클래스 변수)를 생성할 때 사용하는 키워드
  • static 메모리 영역에 저장되므로, 프로그램 시작과 동시에 메모리에 고정적으로 할당되어 프로그램이 종료될 때 해제됨
  • 자주 사용되는 일정한 데이터를 메모리에 할당시켜 둠으로써, 매번 메모리를 로딩하거나 읽어 들일 필요 없이 바로 가져다 쓸 수 있어, 결과적으로 효율을 높일 수 있음
  • static 키워드를 사용하지 않는 경우, 인스턴스 메소드 또는 인스턴스 변수를 생성하는 것

String[] args

  • main 메서드의 parameter로, 프로그램 실행 시 입력 받는 값들이 String 형태로 args 배열에 담기게 됨
  • args[0]과 같이 인덱스를 통해 접근 가능

매개변수와 인수의 차이점

  • 매개변수(Parameter) : 메소드에 입력으로 전달된 값을 받는 변수
  • 인수(Argument) : 메소드를 호출할 때 전달하는 입력값
class Sample {
	public void SampleMethod(int parameter) { // 매개변수(Parameter)
		...
	}
	int argument = 10
	SampleMethod(argument) // 인수(Argument)
}
profile
💎 Daniel LEE | SSAFY 8th

0개의 댓글