반응형
# 목적
: static, instance 변수/메서드에 대한 개념 정리
* 인스턴스 멤버 : 인스턴스 변수, 인스턴스 메서드
* 클래스 멤버 : 클래스(static) 변수, 클래스(static) 메서드
1. 변수(Variable)란?
: 하나의 데이터를 저장할 수 있는 공간
변수 구분
instance (객체, iv) | static (cv) | local (lv) | |
---|---|---|---|
명칭 | 인스턴스 변수 | 클래스변수, 공유변수 | 로컬변수, 지역변수 |
선언위치 | 클래스 영역 | 클래스 영역 | 메서드 영역, 초기화 블럭 내부 |
사용 | 객체 생성 후 사용 가능 | 언제나 사용 가능 | 해당 영역 내에서만 유효 |
* instance 변수는 개별 속성, static 변수는 공통 속성일 때 사용
2. 메서드(Method)란?
: 명령문 집합
메서드 정의 방법
public static void main(String[] args) {
// 반환타입 메서드이름 (타입 변수명, 타입 변수명, ...) - 선언부
// {
// 메서드 호출 시 수행될 코드 - 구현부
// }
// --- ex)
int add (int a, int b) // - ex)선언부 (반환할 게 없을 때는 선언부 앞에 void 붙이기)
{ // 여기서 a, b는 매개변수 (매개변수는 0~n개 입력 가능)
int result = a + b;
return result; // 호출한 메서드로 결과 반환 // - ex)구현부
} // 출력값은 0~1개밖에 안되기 때문에 배열을 사용하거나 객체로 묶어야 함
}
instance / static 메서드
instance 메서드 | static 메서드 | |
---|---|---|
차이 | 인스턴스 변수(iv) 사용o | 인스턴스 변수(iv) 사용 x |
매개변수 | 입력x | 입력o |
사용법 | 객체 생성 후, '참조변수.메서드이름()'으로 호출 | '클래스명.메서드이름'으로 호출 |
* 참고 : 유튜브 [자바의 정석 기초]
< 해당 글은 velog에서 옮겨온 글로, 가독성이 좋지 않을 수 있는 점 양해 부탁드립니다. >
🔗 velog 버전 보기 : https://velog.io/@ryuneng2/Java-static-instance-기초정리
'BackEnd > Java' 카테고리의 다른 글
[Java] 접근 제어자(access modifier) (Feat. 캡슐화) (0) | 2025.01.15 |
---|---|
[Java] 오버로딩(Overloading), 생성자(Constructor) (0) | 2025.01.15 |
[Java] 객체지향 프로그래밍(Object-Oriented Programming, OOP) (0) | 2025.01.15 |
[Java] 원시타입(Primitive type)과 참조타입(Reference type) - 용어 정리 (0) | 2025.01.15 |
[Java] for문 / while문을 이용한 무한 루프 작성과 탈출하는 방법 (0) | 2025.01.15 |