Java 3주차 (2)

신성훈·2024년 4월 26일

TIL

목록 보기
8/162

오늘의 학습 키워드

  • 객체의 행위 : 메서드
  • 매개변수의 종류 (기본형, 참조형)
  • 인스턴스 멤버와 클래스 멤버
  • 지역변수 및 상수

객체의 행위 : 메서드

  • 메서드 선언
    리턴타입 메서드명 (매개변수, ...){실행할 코드 작성}
int testMethod(){
		return;
	}

return 리턴타입의 반환값;

반환할 값이 있을 경우 return을 사용
반환할 값이 없을 경우 void 사용 //
void 타입일때 return;을 쓰는 경우 원하는 지점에서 메서드를 종료 할 수 있다.

매개변수

-input -> 매개변수
-output -> 반환할 값

  • 매개변수는 메서드로 전달하려는 값을 받기 위해 사용 되는 변수다.
    값을 전달하기 위해서는 순서!!, 타입!! 맞춰 값을 넣어야 한다.
    전달하려는 값이 없다면 생략 가능하다
 void horn(){
		System.out.println("빵빵!");
        }
  • 가변길이의 매개변수도 선언 가능하다 ...(spread)
void carSpeeds(double ... speeds) {
		for (double v : speeds) {
			System.out.println("v = " + v);
	}
}
  • 메서드 오버로딩
    -하나의 메서드 이름으로 여러 기능을 구현하도록 하는 기능

  • 조건
    -메서드의 이름이 같고, 매개변수의 개수, 타입, 순서가 달라야한다.
    -응답값 or 접근제어자만 다른것은 오버로딩 할수 없다.
    -매개변수의 차이로만 구현할수 있다!!

  • 장점
    -메서드 이름 하나로 상황에 따른 동작을 개별로 정의 할 수 있다.
    -메서드의 이름을 절약할 수 있다.

매개변수의 종류 (기본형, 참조형)

  • 기본형 매개변수 - 읽는것만 가능
    값 자체가 복사 되어 넘어가기 때문에 매개값으로 지정된 변수의 원복 값이 변경되지 않는다.

  • 참조형 매개변수 - 읽고 변경까지 가능
    값이 저장 된 곳의 원본 주소를 알 수 있기 때문에 값을 읽어 오는 것은 물론 변경도 가능하다.

인스턴스 멤버와 클래스 멤버

  • 멤버 = 필더 + 메서드
    -인스턴스 멤버 = 인스턴스 필드 + 인스턴스 메서드
    -클래스 멤버 = 클래스 필드 + 클래스 메서드

-선언하는 방법에 따라 인스턴스 멤버와 클래스 멤버로 나뉜다.
1. 클래스의 멤버는 모든 인스턴스에서 ‘동일’하다.
2. 인스턴스를 생성하지 않아도 클래스에 직접 접근해 사용이 가능하다.

  • 클래스 변수
    -변수를 선언할 때 인스턴스 변수로 선언할 것인가, 클래스 변수로 선언할 것인가는 각각의 객체마다 개별적인 속성을 가져야할 때는 인스턴스 변수로 선언하고 모든 객체가 공통적인 속성을 가질 때는 클래스 변수로 선언해 사용.

  • 클래스 변수의 용도

  1. 인스턴스에 따라서 변하지 않는 값이 필요한 경우
  2. 인스턴스를 생성할 필요가 없는 값을 클래스에 저장하고 싶은 경우
  3. 값의 변경 사항을 모든 인스턴스가 공유해야 하는 경우
  • 클래스 메소드
    -클래스 메소드를 사용해 동일한 결과를 출력했지만 불필요한 인스턴스 생성을 막아 중복된 코드를 줄여준다.

지역변수 및 상수

  • 지역변수 <-> 전역변수(static과 유사하다)
    해당 메소드가 실행될 때 마다 독릭접인 값을 저장하고 관리합니다.
    이 지역변수는 메서드 내부에서 정의될 때 생성된다.
    이 메서드가 종료 될때 소멸된다. 휘발성임

  • 상수
    -final 붙이면 상수가 됨
    -초기값이 저장되면 프로그램이 실행하는 도중에 절대 수정 할 수 없다.
    -반드시 초기값을 지정해야 합니다.
    -불변하는 값
    -static final(공통적인 상수)
    -string TEST-VALUE -> 대문자로 이루어지면 상수라고 생각해야한다.

📝오늘의 회고

3주차는 심히 내용이 심도가 깊다...
오늘도! 쳐지지 말고 포기하지말고 힘내서 가보자고~~~

profile
조급해하지 말고, 흐름을 만들고, 기록하면서 쌓아가자.

0개의 댓글