Java수업 - 클래스, 메소드

김지원·2022년 6월 11일
0

Java

목록 보기
33/38

클래스 정의와 객체 생성

객체 생성

클래스명 객체 = new 클래스명()

객체 호출

객체명.변수명
객체명.메소드명()

사용자 메서드 ( 사용자 함수 )

  • 사용자가 직접 만든 함수
  • 내장 함수 외의 기능 혹은 자신이 원하는 기능을 작성
  1. 커피자판기에 돈을 넣는다.
  2. 마시고 싶은 커피의 종류(input)를 골라 버튼을 누른다.
  3. 커피자판기는 선택된 커피와 경우에 따라 잔돈(output)을 준다.

< 자판기 개념 예시 >

       < main = 버튼 >
      
   커피종류 (input) ↓  
   
              ↑ 잔돈(output)
           
    < 사용자함수 =  잔돈계산기 >
  • 메소드 정의 : 사용자 메서드를 새로 만드는 것
  • 인수 = argument : 사용자 함수에 전달할 입력 (input)
  • 매개변수 = parameter : 인수를 받아서 저장하는 변수
  • 반환값 = return : 사용자 함수의 출력(output)
  • 함수 호출 : 만들어진 사용자 함수를 사용하는 것

사용자 메서드의 정의

  • return문은 반환 값이 없을 경우에는 작성하지 않음•
  • 메소드의 반환 타입이 void일 경우를 제외하고는
    반드시 메소드 내부에 return문이 있어야 함
  • 메소드 이름은 사용자가 지정
반환타입 메소드명(자료형타입 매개변수, 자료형타입 매개변수..) {
	본문
    return 반환값;

메소드 호출

  • 정의된 메소드를 사용하는 것(정의 후 사용)
참조변수.메소드명(인수);

1) 인수: X, 반환값: X
객체명.메소드이름()

void print_name() {
		System.out.println("이름은 사자.");
 }

클래스 안에는 변수와 메서드를 만들수 있다.
void 타입의 메서드를 만들었다.
void : 반환값이 없다. = return이 없다.

위에서 생성한 메서드를 사용하려면 객체를 만들어야한다.

Animal lion = new Animal(); : lion 객체를 만들었다.
lion.print_name();

< 결과 >

2) 인수: O, 반환값: X
객체명.메소드이름(인수)

매개변수가 2개면 인수(parameter)도 2개여야한다.!!
그 기능에 맞게 데이터만 잘 보내주면 몇개든 상관이 없다.

< 결과 >

3) 인수: X, 반환값: O
자료형 변수명 = 객체명.메소드이름(인수)

4) 인수: O, 반환값: O
자료형 변수명 = 객체명.메소드이름(인수)

return result;
정수 2개를 받아서 두 개의 합을 리턴해주는 것.
System.out.println(lion.sum(10, 20));
변수에 저장하지 않고 바로 값을 넣어주었다.

sum이라는 메소드에는 int 2개가 존재한다.
프린트를 한다는 것, 저장을 한다는 것은 무조건 리턴이 존재한다는 의미이다.
리턴값이 있어야 프린트, 저장이 가능하다.


클래스의 구성

클래스는 객체가 가져야 할 값과 기능을 가져야 한다.

                   사람 ( 객체 )
  변수(인스턴스 변수)               함수(인스턴스 메소드) 
  이름 나이 연락처 주소             잔다, 먹는다, 공부한다, 달린다.
  명사적 성격                     동사적 성격
             

인스턴스 변수

1) 클래스를 기반으로 만들어지는 모든 인스턴스들이 각각 따로 저장하는 변수
2) 객체마다 가지는 고유한 변수
2) 인스턴스를 생성할 때 만들어짐
3) 인스턴스마다다른값을가져야할경우인스턴스변수로선

인스턴스 메소드

1) 객체를 생성해야 호출이 가능한 메소드 2) 객체가 생성되어야 메모리에 올라감
3) 메소드 앞에 static이 붙어있지 않음

클래스 변수

1) 모든 인스턴스가 동일한 값을 사용할 때 정의함
2) 모든 인스턴스들이 공유하도록 처리
3) 메모리공간을절약할수있음
4) 클래스가 처음 메모리에 로딩될 때 생성
5) 변수 선언 시 static 키워드를 사용

클래스 메소드

1) 객체를 생성하지 않아도 호출이 가능
2) 메소드 선언 시 static 키워드를 사용


인스턴스 변수 / 인스턴스 메소드

  • 객체를 생성해야 사용가능
  • 객체마다 다른 값을 가질 수 있음.
  • 객체. 변수 or 객체.메소드 로 사용

클래스 변수 / 클래스 메소드

  • 클래스 이름으로 사용 (객체를 생성하지 않아도 사용 가능 )
  • 해당 클래스와 해당 클래스로 생성한 모든 객체가 동일한 값을 가짐.
  • static키워드가 붙어있음.
  • 클래스 메소드 안에서는 클래서 변수, 클래스 메소드만 사용가능

0개의 댓글

관련 채용 정보