- 객체는 아는것(품사로 명사 / 속성)과 하는것(품사로 동사 / 기능)을 가지고 있다.

- 자바 클래스기반 객체지향언어이다.

- 클래스의 멤버는 멤버필드 멤버메서드이다.

- 스택메모리(Stack memory) 영역은 메서드 혹은 생성자 호출되면 해당 영역이 잠시 생성(쌓임) 됩니다.

- 힙(Heap) 영역은 객체가 존재하는 공간 입니다,

- 강아지(Dog) 클래스의 UML 입니다. 속성과 기능을 채워 보세요. 

* UML(Unified Modeling Language) 란 프로그램 설계를 표현하기 위해 사용되는, 그림으로 된 표기법을 의미한다.

Dog
속성: 성별 / 종 / 몸무게 / 색 / 나이 /이름 
기능: 물다. / 짖는다. / 잔다. / 달린다

 


■ 변수

- 변수 자료형에 따른 분류 선언지역에 따른 분류가 있다.

- 자료형에 따른 분류 기본자료형 변수 객체자료형 변수가 있다.

- 객체자료형과 참조자료형은 같은 말이다.

- 기본자료형 변수의 대입은 값의 변수이다. (직접 들어감)

- 객체자료형 변수의 대입은 레퍼런스의 참조이다.

- 선언지역에 따른 분류 지역변수 멤버필드가 있다.

- 지역변수는 메모리가 스텍(Stack)에 쌓인다.

- 멤버필드는 메모리가 힙(Heap)과 스태틱(Static)에 쌓인다.

- 힙은 인스턴스(Instance) 멤버필드라고 부른다.


- 클래스 객체의 설계도 / 객체자료형이다.

- 클래스의 멤버 멤버필드 멤버메서드로 나눈다.

 

- 다음을 스텍(Stack)  힙(Heap) 으로 그려보세요.

class A{
    int a;
}

class B{
    int a;
    int b;
}
public class C{
	public static void main(String[] args){
           int a = 5;
           int b = a;
           A c = new A();
           B d = new B();
           A e = c;
           c.a = b;
           d.b = c.a;
           System.out.println(e.a);
    }
}

- 다음을 스텍(Stack)  힙(Heap) 으로 그려보세요.

class A {
    int a;
    A b;
}
class B {
    int a;
    B b;
}
public class C{
	public static void main(String[] agrs){
             int c = 3;
             A a = new A();
             B b = new B();
             a.a = c;
             int d = 5;
             b.a = d;
             a = new A();
             a.b = a;
             b.b = new B();
    }
}

*접근제한자를 간단하게 말하면 자바에서는 클래스, 함수, 변수에 대한 접근을 제한하는 문법이 있다.

  1. public
  2. private
  3. protected
  4. default

 

최근 글