<CodeStates>클래스와객체,필드와메서드

한주영·2023년 2월 25일
0

객체의 생성

클래스명.참조변수명; //인스턴스를 참조하기위한 변수
참조변수명= new 생성자();

참조변수: 실제데이터가 위치한 힙 메모리를 저장하는 공간
인스턴스 변수

객체 생성 메모리 개념

클래스
참조변수
힙 메모리에 저장->new 연산자
클래스();-> 생성자

클래스 영억/ 스택영역

생성자로 만들어지는 인스턴스는 힙 메모리에 영역에 들어감
객체 내부에는 클래스 멤버들이 위치하게 됨

필드

클래스에 포함된 변수, 객체의속성

자바에서의 변수

클래스변수, 인스턴스변수, 지역변수로 나뉨

필드는 static키워드의 유무로 구분할수있다

class Example//클래스의영역
   int instanceV; //인스턴스 변수
   static int classV; //클래스변수(static)
{
   void method(){
        //메서드 영역
        int localV; //지역변수->메서드안에서만 유효
   }
}

인스턴스변수

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

클래스변수

독립적인 저장공간을 가지는 인스턴스 변수와 다르게 공통된
저장공간

클래스변수는 -> 클래스명,클래스변수명을 통해 사용이가능

맴버변수

스택메모리에저장

필드변수와 지역변수의 한가지 주요한 차이점
-> 초기값에 있다

Static

클래스의 맴버(필드,메서드, 이너클래스)에 사용되는 키워드
-> static

생성자

객체생성 역할을 하는 클래스의 구성요소

인스턴스 변수들을 초기화 하는데 사용되는 특수한 메서드 이다!

생성자는 메서드와 비슷한 구조를 가지고 있지만
크게 두가지 부분에서 차이를 가진다

  1. 생성자의 이름은 클래스의 이름과같아야한다
  2. 리턴타입이없다

생성자 오버로딩을 통하여 같은 이름을 가진 생성자를

여러개 만들수있음

생성자는 두가지로 나뉨

기본생성자
매개변수가 있는 생성자

내부클래스

클래스 내에 선언된 클래스로
외부 클래스와 내부클래스가 서로 연관되어 있을때 사용한다
내부클래스를 사용하면
외부클래스의 맴버 변수에 쉽게 접근이 가능하며
코드의 복자벙을 줄일수있다

또한 캡술화를 달성하는데에도 유용하다

class Outer { // 외부 클래스
	
	class Inner {
		// 인스턴스 내부 클래스	
	}
	
	static class StaticInner {
		// 정적 내부 클래스
	}

	void run() {
		class LocalInner {
		// 지역 내부 클래스
		}
	}
} 
profile
백엔드개발자가 되고싶은 코린이:)

0개의 댓글