JAVA 27강-코드 내용이 의미하는 바 모두 쓰기

주바나·2023년 3월 6일
0

JAVA 기초

목록 보기
9/16
post-thumbnail

int 변수


class Main {
	public static void main(String[] args) {
		int a;
	}
}
  • 오직 main 함수 안에서만 활동하는 지역변수를 만들겠습니다.

  • main 함수에서는 더 이상 a라는 이름의 다른 변수를 만들 수가 없다.

  • main 함수가 시작되면 a변수는 만들어진다.

  • main 함수가 끝나면 a변수는 사라진다.

  • a에는 단 한순간 이라도 정수 이외의 값을 가질 수 없다.

  • 그래서 현재 a에는 0(쓰레기 값)이 들어가 있다.

  • a에는 오직 -21억 이상, 21억 이하의 정수만 들어갈 수 있다.

  • a에 정수가 아닌 값을 넣으려고 시도하면 자동으로 정수화 되어서 들어간다.

  • 만약에 위 정수화가 위험할 수 있는 가능성이 조금이라도 있다면 오류가 발생한다.

  • int가 감당하기 큰 숫자 ->long으로 처리 : long a = 20000000000L;

클래스


class Main {
	public static void main(String[] args) {
	}
}

class 무기 {
	void 공격() { }
}

class 칼 extends 무기 {
	void 사과를_깍다() { }
}
  • 무기 리모콘을 만들 수 있다.

  • 무기 객체를 만들 수 있다.

  • 무기 리모콘만 들어가는 변수를 만들 수 있다.

  • 무기 리모콘은 버튼의 개수가 1개이다.

  • 무기 객체는 기능의 개수가 1개이다.

  • class 무기 { void 공격() { } } 의 의미

리모콘 변수


class Main {
	public static void main(String[] args) {
		게임.작동하다();
	}
}

class 게임 {
	static void 작동하다() {
		// 설명1
		무기 a무기;
		
		// 설명2
		a무기 = new 무기();
	}
}

class 무기 {
	void 공격() { }
}

설명1

  • 오직 무기 리모콘만 저장 할 수 있는 변수가 만들어진다.

  • 그 변수의 이름은 a무기이다.

  • 해당 변수에는 단 한순간이라도 무기 리모콘 아닌 값이 들어갈 수 없다.

  • 그래서 현재 위 a무기 변수에는 쓰레기 리모콘이 들어있다.

  • 그 쓰레기 리모콘의 버튼 개수는 1개이다.

  • 물론 그 버튼을 누르면 오류가 난다.

  • 왜냐하면 그 쓰레기 리모콘은 객체와 연결되어 있지 않기 때문이다.

  • a무기에는 무기리모콘은 당연히 저장 될 수 있다.

  • a무기에 무기리모콘이 아닌 다른 리모콘이 저장 되려 할 때 해당 리모콘은 자동으로 무기리모콘으로 변해서 저장된다.

  • 다른 리모콘이 만약에 무기 리모콘으로 바뀌는게 안전하지 않을 수 있으면 오류가 발생한다.

  • a무기 라는 변수(공간)은 작동하다 함수가 시작할 때 만들어 진다.

  • a무기 라는 변수(공간)은 작동하다 함수가 끝날 때 사라진다.

  • 여기서 당연하게도 a무기 에 들어있던 리모콘은 변수가 사라질 때 같이 사라진다.

설명2

  • 무기 객체는 객체들만 사는 나라(힙)에 저장되어 있고 그것의 수명은 작동하다 함수가 끝나는 것과 전혀 상관없이 계속 살아간다.

  • 단 객체는 외부에 자신을 가리키는 리모콘의 개수가 0이 되면 힙 내부에 돌아다니고 있는 가비지 컬렉터에 의해서 언젠가 제거된다.

상속


class Main {
	public static void main(String[] args) {
	
	}
}

class 무기 {
	void 공격() { }
}

class 칼 extends 무기 {
	void 사과껍질제거() { }
}

class 칼 extends 무기 { } 의 의미 설명

  • 무기 리모콘의 버튼은 1개이다.

  • 칼 리모콘의 버튼은 2개이다.

  • 무기 클래스에 메서드 3개를 더 넣으면 무기 리모콘의 버튼은 4개가 되고 칼 리모콘의 버튼은 5개가 된다.

  • 칼 리모콘의 버튼 개수는 절대 무기 리모콘의 버튼 개수 보다 적을 수 없다.

  • 다시 말하면 칼 리모콘을 무기 리모콘 으로 바꿀 때 해야할 일은 오직 버튼을 제거하는 일 밖에 없다.

  • 하나의 리모콘을 다른 하나의 리모콘으로 바꾼다는 것은 결국 특정 버튼들을 제거하고, 특정 버튼들을 추가하는 일이다.

  • 버튼을 제거하는 일은 좀 더 불편해지는 일이지만 문제가 되진 않는다. 즉 안전한다.

  • 버튼을 추가하는 일은 좀 더 편리해지는 일이지만 문제가 될 가능성이 다분히 높다. 즉 안전하지 않다.

  • 자바에서는 안전한 일은 자동으로 해주고, 안전하지 않은 일은 개발자의 동의를 받는다.

profile
BE -JAVA,Spring boot

0개의 댓글