studyplan
클래스 메서드(static메서드) 와 인스턴스 메서드 / static / CV(class variable)(클래스변수 ), IV(instance variable)(인스턴스 변수) , LV(local variable)(지역변수) / 인스턴스(instance) 본문
클래스 메서드(static메서드) 와 인스턴스 메서드 / static / CV(class variable)(클래스변수 ), IV(instance variable)(인스턴스 변수) , LV(local variable)(지역변수) / 인스턴스(instance)
무한머니 2022. 7. 12. 16:39
메서드 앞에 static이 붙어있으면 클래스메서드고 , static 이 없으면 인스턴스 메서드이다 .
클래스 메서드도 클래스 변수 처럼 , 객체를 생성하지 않고도 '클래스이름.메서드이름(매개변수)'와 같은 식으로 호출이 가능하다 ,
반면에 인스턴스 메서드는 반드시 객체를 생성해야만 호출 할수있다 .
그렇다면 클래스를 정의할때 , 어느경우에 static을 사용해서 클래스 메서드로 정의 해야 하는걸까 ?
클래스는 '데이터(변수)와 데이터에 관련된 메서드의 집합'이므로 , 같은 클래스 내에잇는 메서드와 맴버변수는 아주 밀접한 관계가 있다.
인스턴스 메서드는 인스턴스 변수와 관련된 작업을 하는, 즉 메서드의 작업을 수행하는데 인스턴스 변수를 필요로 하는 메서드이다 ,
그런데 인스턴스 변수는 인스턴스(객체)를 생성해야만 만들어지므로 인스턴스 메서드 역시 인스턴스를 생성해야만 호출할 수 있는 것이다 .
반면에 메서드 중에서 인스턴스와 관계없는(인스턴스 변수나 인스턴스 메서드를 사용하지 않는) 메서드를 클래스 메서드(static메소드)로 정의한다.

결론 iv 인스턴스 변수 : 를 사용 하냐 안하냐의 차이
사용은 ?

static 메서드는??
1 , 객체 생성 없이 사용할수있는 메서드
2. iv(instanc variable ) 인스턴스 변수를 사용 안하는 메서드
iv는 객체를 생성해야지만 만들어지는 변수 !!
static 이 안붙은 변수 !
인스턴스 맴버가 존재하는 시점에 클래스 맴버는 항상 존재하지만 , 클래스맴버가 존재하는 시점에 인스턴스 맴버가 존재하지 않을수도 있다 .!!
============================================================================================
static = 정적 , 고정된 의 의미를 가지고있다 .

static 메서드 - static메서드 내에서는 인스턴스 맴버들을 직접 사용할 수 없다
왜냐하면 IV(instance variable)(인스턴스 변수) 맴버는 클래스를 호출했을때만 생성 되기 때문에
=========================================================================================
클래스 변수 > cv , iv 가 있다
CV(class variable)(클래스변수 ) = 클래스 변수

IV(instance variable)(인스턴스 변수) = 인스턴스 변수

지역변수 : 클래스 이외의 영역 , 메서드 , 생성자 , 초기화 블럭 안에있는것
LV(local variable)(지역변수) = 지역변수
주의 iv 는 인스턴스 변수로
iv 는 객체 , 를 생성해야 쓸 수 있다 .
========================================================================================
객체와 인스턴스
클래스로부터 , 객체를 만드는 과정을 클래스의 인스턴스화 라고 하며 , 어떤 클래스로부터 만들어진 객체를 그 클래스의 인스턴스라고 한다
Tv t; // TV 인스턴스를 참조하기 위한 변수 t 를 선언
Tv 클래스인 t ;
t= new Tv(); // TV 인스턴스를 생성한다

객체는 : iv 의 묶음이다
'자바정리' 카테고리의 다른 글
| subString() , lastIndexof() , indexof() 사용법 - 자바 (0) | 2022.08.01 |
|---|---|
| 싱글톤 패턴 (Singleton pattern) - java 자바 /만드는 방법 ,만드는 이유 / (0) | 2022.07.12 |
| 스프링 쉽게 설정하기 , 스프링 설정 ,spring install , gradle , maven, spring initalizr , (0) | 2022.07.04 |
| 자바 - 오라클 연동 //하는 유튜브 (0) | 2022.07.01 |
| 인텔리제이(INTELJ)에서 자바 라이브러리 쓰는방법 - lombok ,gradle , build.gradle , (0) | 2022.06.30 |