클래스, 메서드

Single Ko·2023년 4월 4일
0

java

목록 보기
11/28

클래스

클래스란?

  • 객체를 정의해 놓은 것. 객체의 설계도 또는 틀. 객체를 생성하는데 사용된다. 클래스에는 객체의 모든 속성과 기능이 정의되어 있다.

객체란?

  • 실제로 존재하는 것. 사물 또는 개념.. 객체가 가지고 있는 기능과 속성에 따라 용도가 달라진다. 클래스에 정의된 내용대로 메모리에 생성 된 것.

인스턴스(Instance)란?

  • 객체를 만드는 법. 클래스로부터 객체를 만들어 실제 존재하는 메모리에 올라가는 것. 어떤 클래스로부터 만들어진 것인지를 강조하는 보다 구체적인 의미. 만들어진 객체가 Instance

객체의 구성 요소

  • 속성(Property) : member variable , field, attribute, state 등..
  • 기능(function) : method, function, behavior …
  • new 연산자 : 객체를 생성해주는 역할. 메모리 영역에 데이터를 저장할 공간을 할당받고, 그 공간의 참조값을 객체에게 반환하여 주고 이어서 생성자를 호출한다.
  • 생성자 : 인스턴스가 생성될 때 호출되는 인스턴스 초기화 메서드 , 인스턴스 변수들을 초기화 하는 것을 뜻한다.

인스턴스 생성 과정

  1. new에 의해서 메모리(heap)영역에 클래스의 인스턴스가 생성된다.
  2. 생성자가 호출되어 변수들의 초기화를 수행한다.
  3. new의 결과로 생성된 인스턴스의 주소가 반환되어 참조변수에 저장된다.
    • 생성자는 클래스의 이름과 같아야 한다. 생성자는 리턴 값이 없다. 모든 클래스에는 반드시 하나 이상의 생성자가 정의되어 있어야 한다.
    • 생성자가 없을경우 기본 생성자를 컴파일러가 추가해서 컴파일해줌.(생략가능)
    • 생성자도 메서드 처럼 매개변수를 선언하여 호출 시 값을 넘겨 받아서 인스턴스 초기화 작업에 사용 할 수 있다.
    • this - > Java에서 this는 객체, 자기 자신을 나타낸다.

this의 사용 예시
1. 생성자/메소드의 매개변수의 이름이 같은 경우
2. 클래스에 오버로딩된 다른 생성자 호출
3. 객체 자신의 참조값을 전달하고 싶을때

메서드(method)

  • 특정 작업을 수행하는 일련의 코드들을 하나로 묶은 것.(Java에서는 Method, 다른곳에서는 function등으로 부름).
  • 반복되는 코드를 줄여주고, 좀 더 구조화시켜 코드를 알아보기 쉽게 함.
  • 메서드는 void를 통하여 반환값이 없을수도 있고, 반환값을 포함하는 메서드도 있다.(return type)

메서드의 구조

<접근 제어자> < 반환 유형 > <메서드 식별자 이름> (매개 변수) {
  기능 상세;
 }
 //매개 변수는 있을수도 없을 수도 있다.
  
public void hello() {
  System.out.print("Hello Java");
}
    
public vod consolePrint(int a, int b) {
	System.out.print(a+b);  //콘솔에 a+b의 값을 출력해준다.
}

public int multiple(int a, int b) {
	return a+b; //a+b의 값 자체를 반환 해준다. 
}

반환 유형(return type)

  • 메서드가 시행한 후 메서드를 호출한 곳에 반환하는 값의 데이터 타입.
  • 반환값이 있는 메서드도 있고, 없을 수도 있다(void).
  • 결과값을 반환할 때는 return 이라는 키워드를 사용한다.(mutiple() 메서드 예시)
  • return이 실행되면, 즉시 메서드의 실행이 끝이 난다.

매개 변수(parameter)

  • 필요한 데이터를 외부로 부터 받기 위해 사용된다.
  • 매개 변수도 일종의 변수이기 때문에 메서드의 () 부분에 데이터 타입과 함께 선언해야 하며, 초기화는 하지 않는다.
  • 매개 변수를 여러개 선언할 수 있으며, 선언하지 않을 수도 있습니다.
profile
공부 정리 블로그

0개의 댓글