본문 바로가기
728x90
반응형

코딩/JAVA27

[JAVA] 비정적(non-static) 멤버 변수와 정적(static) 멤버 변수의 차이와 RAM(메모리) 배치 자바를 공부하던 도중 비정적(non-static) 변수와 정적(static) 변수에 대해 RAM에 각각 어떻게 배치되는지에 대한 기록을 적어보도록 하겠다. 비정적(non-static) 멤버 변수 (인스턴스 변수): 비정적(non-static) 멤버 변수는 클래스의 각 인스턴스(객체)마다 별도의 메모리 공간에 저장된다. 각 객체(인스턴스)는 해당 변수의 값을 독립적으로 가질 수 있습니다. 인스턴스 변수는 객체가 생성될 때 초기화되며, 객체의 생명주기 동안 유지됩니다. 더보기 개별 메모리 공간: 비정적 멤버 변수는 클래스의 각 인스턴스(객체)마다 별도의 메모리 공간에 저장된다. 이것은 객체마다 독립적인 변수 값을 가질 수 있음을 의미하는데, 예를 들어, 여러 대의 자동차 객체가 있을 때, 각 자동차 객체는 .. 2023. 10. 17.
Discuss how Java program is executed on a computer. (자바가 컴퓨터에서 실행되는 과정) +-----------------------------------------------------+ | Java Source Code | +-----------------------------------------------------+ ↓ +-----------------------------------------------------+ | Java 컴파일러 (javac) | +-----------------------------------------------------+ ↓ +-----------------------------------------------------+ | 바이트코드 (.class 파일) | +------------------------------------------------.. 2023. 10. 17.
[JAVA] this의 역할 Java에서 this는 현재 객체를 가리키는 참조로 사용된다. 아래와 같은 역할로 주로 쓰인다고 한다. 변수 및 메서드 호출: 현재 객체 내에서 변수와 메서드를 호출할 때 사용된다. EX) this.variableName은 현재 객체의 인스턴스 변수를 참조하고, this.methodName()은 현재 객체 내의 메서드를 호출합니다. 생성자 호출: 생성자 내에서 다른 생성자를 호출할 때 사용되는데, 생성자에서 this()를 사용하여 같은 클래스의 다른 생성자를 호출할 수 있으며, 이를 통해 중복되는 초기화 코드를 피할 수 있다. 메서드 오버로딩 구분: 여러 메서드가 동일한 이름을 가질 때, this를 사용하여 현재 객체를 구분하는 데 도움을 준다. 이를 통해 메서드 오버로딩을 구분할 수 있다. 인스턴스 변.. 2023. 10. 17.
[JAVA] protected와 private static의 차이 & 개념 protected (보호된): 이것은 일종의 "패스워드"와 같다. 패스워드가 가장 중요한 것을 보호하는 역할을 한다면, protected도 클래스 안에서 중요한 정보를 보호한다. 클래스 안에서만 사용하거나 상속받은 다른 클래스에서만 사용할 수 있다. 패스워드를 알지 못하면 중요한 정보에 접근할 수 없듯이, 다른 클래스가 protected로 보호된 정보에 접근할 수 없다. private static (개인적이고 고정된): 이건 비밀 상자에 무언가를 넣어두는 것과 비슷하다. 그 비밀 상자에는 키가 없고, 누구나 열 수 없는듯 말이다. 클래스 안에서만 사용하며, 클래스 외부에서는 사용하지 못해요. 다른 클래스나 상속 관계에서도 열 수 없다. 이것을 사용하면 중요한 정보를 외부로부터 완전히 숨길 수 있다. 간단.. 2023. 10. 17.
반응형