자바, 깃을 공부하면서 찾아본 것들

임유빈·2023년 10월 25일

개발자

목록 보기
14/26

class

  • 클래스 명은 대문자로 작성한다.

ex) class Car{}

  • 클래스를 사용하기 위해서는 저장 후 사용해야 한다.

클래스 생성 후 반드시 저장 공간을 만들어야 하는데 이때 new를 이용하게 된다.

ex) Car car1 = new Car(); // 객체 1 생성

이 때 new를 사용해야 하는 이유는 인스턴스 변수는 static 변수와 달리 자동으로 저장 공간이 생성되지 않기 때문이다. 인스턴스 변수를 호출하기 위해서는 new를 통해 객체를 생성하고 객체명.변수명 형태를 이용한다.

Static 변수는 컴파일러에서 자동으로 저장해주기 때문에 클래스명.변수명 형태로 언제 어디서든 호출 가능하다.

인스턴스 변수, 클래스 변수, 지역 변수에 대해서 아래 예시로 이해하며 된다.

public class test {

	int iv; // 인스턴스 변수
	static int cv; // 클래스 변수
	
	void method() {
		int lv; // 지역 변수
	}
}

자바 생성자

생성자는 new 연산자에 의해서 단 한 번 호출되는 단위이며, 인스턴스 변수를 초기화 시키는 역할을 함, 사용방법은 클래스명 변수명 = new 클래스명();

자바 상속에서의 중복

// 생성자를 사용하지 않은 경우
class Student {
	String name; // 학생 이름
	int age; // 학생 나이
	int number; // 학생 학번
}

public class StudentMain {

	public static void main(String[] args) {

		Student st = new Student();

		st.name = "홍길동";
		st.age = 20;
		st.number = 00000000;
	}

}
// 생성자를 이용해 멤버변수를 초기화 

class Student {
	String name; // 학생 이름
	int age; // 학생 나이
	int number; // 학생 학번

	Student() {
	}

	Student(String name, int age, int number) {
		this.name = name;
		this.age = age;
		this.number = number;
	}

}

public class Test01 {

	public static void main(String[] args) {
		Student st1 = new Student(); // 생성자 호출 부분에 인자가 없고 클래스에 인자가 있는
										// 생성자가 하나 이상 존재하기 때문에 빈 생성자를
										// 만들어 줘야 합니다.
		Student st2 = new Student("홍길동", 20, 111111);
	}

}

생성자를 사용하지 않았을때는 Main 클래스에서 클래스 변수에 값을 하나 하나씩 초기화를 해줘야 합니다. 하지만 생성자를 사용했을 때는 인스턴스 생성시 멤버변수의 값들도 한번에 초기화해 줄 수 있어서 훨씬 효율적입니다.

App a = new App();

-> a 리모콘을 만들어서 App객체 만들기 new App(); 실행 결과 a리모콘

문장을 비교할때는 == 이 아니라 .equals 사용

public class는 두개 이상 사용 불가, public class를 추가하면 그 클래스의 이름은 파일명과 동일해야하는 규칙이 있다.

class Program {
}

public class Program2 {
}

이러면 오류가 난다.

public class Program {
}

class Program2 {
}

이러면 문제 없이 컴파일이 잘된다.

git add 취소하는법 : git reset

new App().run(); 에서

new 키워드는

  1. 클래스 이름을 선언한다.
  2. 참조 변수를 선언한다.
  3. = 대입 연산자를 선언한다.
  4. new 키워드를 선언한다.
  5. 생성자를 선언한다.(클래스 이름에 ()소괄호를 붙여서 만든다.)

따라서 App이라는 생성자가 run할 수 있게 리모콘을 누른 것이다.

void 쓸때 안쓸때 구분 찾기

메서드 반환타입이 void가 아닌 경부 구현부 안에 return 반환값이 반드시 포함되어 있어야 한다.

즉, void를 안쓰면 return을 써야하고 void를 쓰면 return을 쓰면 안된다.

profile
주변 사람들과의 소통을 적극적으로 하는 친근한 개발자가 되기를 희망합니다.

0개의 댓글