2024. 8. 25. 02:32ㆍ■ JAVA REVIEW & PRACTICE/INDIVISUAL
public: 접근제어자 중 공개적인 아이
static: 자바 프로그램을 run 하는 순간 메모리에 무조건 올라가
static 이기 때문에 메모리에 올라가 run을 하면 사용을 할 수 있는 것
static은 한번 할당되면 영원히 할당됨 = 정적 = 정적변수 =
ex) static String name; -> 정적변수
void: 매서드인데 리턴해주는게 없는 반환타입
메모리 = 사용 = 작업대
컴퓨터에서 무언가 실행할 때 무조건 메모리에 올라가야만 우리가 사용할 수 있음
생성자 = 생성하는 아이
아래에 써논거대로 안하면 너 못만들어 라고 강제성이 있음 -> 생성하면 메모리에 올라감
클래스 = 메모리에 안올라간 아이콘 같은거 = 설계도
클래스 스코프에는 그냥 무조건 private 하기
클래스에 만들어 놓은 것을 호출하는 법 :
1. Student 클래스를 메모리에 올리는 방법
Public static void main(String[] args) {
Student student = new Student();
// student 이름의 Student 클래스를 new 새로 만듬 -> 우리가 이제 얘를 사용할거니 = 메모리에 올렸다
Student.study(); -> 메모리에 올라갔으므로 드디어 study를 사용할 수 있음
}
2. study 메서드 자체를 메모리에 올리는 방법
Student.study2(); -> 스터디 메서드 자체를 메모리(스태틱)에 올리는 방법
Private final String name;
-> 요즘 자바를 개발함에 있어서 pirvate 무조건 클래스 스코프 변수에 붙임
-> 이것을 캡슐화 한다고 말함
-> 외부에서 접근 불가능
-> 변수를 클래스 안에 가둠
final = 상수 = 불변
한번 값이 떨어지면 절대 바꿀 수 없음
메인 변수가 생성자에서 변수의 값이 할당이 되었는데
클래스 이름에 회색이 노란줄 있으면 -?
너 이거 클래스 변수로 굳이 해야돼?
로컬 변수로 빼면 안돼?
너 이거 변경 안하네?
그럼 final이 좋을걸 ? 라는 뜻
게터세터는 private 에서 연장화된거
-> 너 도대체 이름이 뭐냐
private 에 접근을 못하니까 public에 게터세터를 만들어줘서 접근하려고
get -> 접근 / set -> 이름 바꿔주기 : field에 있는 이름 바꿔줌
this 키워드는 현재 객체 자신을 참조
-> 변수 이름이 같을 때 구분하려고
매개변수 = field 변수가 같을 때가 있는데 컴파일 오류가 안나기 위해 필드에 넣겠다라는 뜻으로 씀
public class Animal { // class = 설계도 = 종이= 아무것도 아님 그냥 틀 = 사용은 불가능
public stati void main(String[] args){
Animal dog = new Animal("멍멍이"); // 메모리에 올라감
rabbit.walk(); // 메모리에 올라가쓰므로 드디어 우리는 walk 를 할 수가 있게 됨. // Animal.walk(); 이건 이렇게 쓸 수 없음
Animal cat = new Animal("야옹이");
dog.walk();
// Animal.eat(); // 대문자 Animal 은 설계도에 불가함 = 종이짝 -> 근데 종이가 먹어? 그러니 말도 안됨
// 교훈: 우리가 진짜 의도해서 static을 직접 코드로 쓰지 않고 뭔가 인텔리제이에서 시키는 데로 클릭해서 static이 되어서 사용하고 있는건 90%이상 틀린것.
System.out.println(dog.name);
System.out.println(cat.name);
}
}
public class Animal { // class = 설계도 = 종이= 아무것도 아님 그냥 틀 = 사용은 불가능
private String name; //private: 접근 제어자
public Animal(String name) {
this.name = name; -> 여기서 this 는 클래스의 이름 말하는거
}
public void walk(){
System.out.println("걷는다.")
}
}
'■ JAVA REVIEW & PRACTICE > INDIVISUAL' 카테고리의 다른 글
클래스와 관련된 용어들 이해하고 직접 코드 작성해보기 (0) | 2024.08.08 |
---|---|
내가 코드를 직접 작성해봤다니! (0) | 2024.08.08 |
자바의 정의와 문법 테이블로 한눈에 보기 (0) | 2024.08.04 |