My Melody Is Cute JAVA 기초 6-1 객체지향프로그래밍 기초
본문 바로가기

개발공부🌷/JAVA

JAVA 기초 6-1 객체지향프로그래밍 기초

 

  • 객체의 속성을 정의하는 필드를 이해하고, 세 가지 종류의 변수를 구분할 수 있다.
  • 각각의 변수가 저장되는 위치를 설명하고, 그 차이를 설명할 수 있다.
  • static 키워드가 무엇이며, 언제 사용되는지 설명할 수 있다.
  • 객체의 기능을 정의하는 메서드를 이해하고, 메서드의 구성요소호출에 대해 설명할 수 있다.
  • 메서드 오버로딩을 이해하고 그 장점을 설명할 수 있다.

 

변수 : 클래스변수(cv) 인스턴스변수(iv) 지역변수(lv)

선언된 위치에 따라서 결정이 된다

 

필드(변수)는 클래스에 포함된 변수: 클래스변수(static이 포함 / cv )와 인스턴스변수(iv)

메서드 내에 포함된 모든 변수: 지역변수(lv)

class Example { // => 클래스 영역
	int instanceVariable; // 인스턴스 변수
	static int classVariable; // 클래스 변수(static 변수, 공유변수)

	void method() { // => 메서드 영역
		int localVariable = 0; // 지역 변수. {}블록 안에서만 유효
	}
}

iv 인스턴스변수  = 각각의 고유한 속성을 저장하는 변수 new 생성자()를 통해 생성될때 만들어짐

cv 클래스변수  = 클래스변수는 공통된 저장공간을 공유 한 클래스 내에서 이 값을 공유해야할때 ex)손가락 개수

인스턴스를 생성하지 않아도 언제든지 클래스명.클래스변수명을 통해 사용이 가능(메모리의 저장위치와 관련)

lv 지역변수 = 지역변수는 메서드 내에서 선언 메서드 내에서만 사용가능한 변수 스택메모리에 저장되어서 메서드종료되면 사라짐

선언시 초기화가 필요함

 

static member 정적멤버(cv) - 모든 객체와 메모리를 공유하기때문에 모두에게 영향을 줌

iv - 그 객체에만 영향

 

클래스메서드에서 클래스변수로 접근가능하지만

클래스메서드에서 인스턴스변수로는 접근 불가

 

메서드 = 문장{} 묶음 , 작업단위로 수행하는 명령문 문장들의 집합, 묶어서 이름붙인것 (클래스의 기능)

값을 받아서 처리하고 결과를 반환

자바제어자 반환타입 메서드명(매개 변수) { // 메서드 시그니처
	메서드 내용 // 메서드 바디
}

반환타입이 void가 아닌경우에 메서드바디{}안에 return문이 존재해야한다

결과값은 반환타입과 일치하거나 자동형변환이 가능한것이여야한다

 

메서드도 클래스의 멤버이고 외부에서 사용하려면 인스턴스를 생성해야한다 생성후 포인트연산자(.)를 통해 호출

클래스내부에 있는 메서드끼리는 객체를 생성하지않아도 호출이 가능하다

메서드 호출시 ()안에 넣어주는 값 = 인자 / 인자의 개수와 순서는 메서드를 정의할때 선언된 매개변수와 일치되어야 함

 

메서드오버로딩

하나의 클래스안에 같은 이름의 메서드를 여러개 정의하는 것

조건1 같은 이름의 메서드명

조건2 매개변수의 개수나 타입이 다르게 정의

(반환타입은 성립조건에 영향x)

 

장점이 뭘까??

하나의 메서드로 여러 경우의 수를 해결할 수 있다

ex) println() 아무값을 ()안에 인자로 넣어서 사용 매개변수에 따라 호출되는 메서드가 달라진다

 

 

 


🍨 글을 찾아볼때마다 의미는 같은데 불리는 이름이 여러개라서 헷갈린다...

 

 

 

필드 (자바) - 해시넷 (hash.kr)

메소드 - 해시넷 (hash.kr)

Java Methods (jenkov.com)

'개발공부🌷 > JAVA' 카테고리의 다른 글

JAVA 기초 7-1 객체지향프로그래밍 기초  (0) 2023.10.19
JAVA 기초7 객체지향프로그래밍 기초  (0) 2023.10.19
JAVA 기초 6 객체지향프로그래밍 기초  (1) 2023.10.18
JAVA 기초 5  (0) 2023.10.16
JAVA 기초4  (0) 2023.10.13