Java notetaking

김범식·2021년 6월 12일
0

JAVA 수업

목록 보기
9/10

Day03

참조변수

  • 한 클래스 안에서 다른 클래스를 참조변수로 활용해 사용할 수 있음.
  • 오버라이딩

OOP 추가작성

  • 클래스, 객체, 인스턴스 의미
  • 클래스의 상속
  • 다형성

생성자 this(** OOP 부분 참고)

  • 자신의 메모리를 가리키는 this
    • 자기 자신이 인스턴스인 year에 매개변수로 들엉온 year를 넣어라!
       public void setYear(int month) {
      		this.month = month;
      }

Day04

Static

  • 여러 개의 인스턴스가 같은 메모리의 값을 공유하기 위해 사용
    (각각의 객체가 생성되면 각각의 Hip영역에 저장)
    • Example studentId instance
      1) A.studentId : <- d100
      2) B.studentId : <- d200
      : 각각의 힙영영 메모리 주소를 가르킨다. -> 인스턴스는 생성될 때 동적 할당.
      : new keyword로 객체를 생성 했을때

      3) Static variable : 전체 프로그램 자체가 load될때 할당
      -> 리터럴, 상수, 스태틱 등이 저장되는 데이터영역 에 저장.
      (객체생성 시점과 관계 X) : 객체 생성이 없이도 호출 가능.

Variable(변수)

  1. local variable
    • 선언 위치 : 함수(메서드) 내부에 선언
    • 사용 범위 : 함수(메서드) 내부에서만 사용가능
    • 저장 위치 : Stack영역
    • 생성, 소멸시점 : 함수(메서드) 호출될 때 생성, 함수 종료시 소멸
  1. instance variable
    • 선언 위치 : Class 멤버 변수로 선언
    • 사용 범위 : Class 내부에서 사용 (접근제어자에 따라 다름) // private이 아니면 참조 변수로 다른 Class에서 사용 가능
    • 저장 위치 : Hip영역
    • 생성, 소멸시점 : 객체가 생성될 때 Hip메모리에 생성, GC(garbage collector)가 메모리를 수거할 때 소멸함.
  2. static variabel
    • 선언 위치 : Class 내부에 선언 <static 예약어 사용>
    • 사용 범위 : Class 내부에서 사용 (접근제어자에 따라 다름) // private이 아니면 Class이름으로 다른 Class에서 사용 가능
    • 저장 위치 : 데이터 영역
    • 생성, 소멸시점 : 프로그램이 처음 시작할 때 생성, 프로그램 종료하고 메모리를 해제할 때 소멸

Singleton pattern

  • 정의 : 단 하나의 인스턴스만 사용해야 하는 경우
    외부에서 같은 인스턴스를 생성하지 못하게 막고(private)
    인스턴스를 가져오는 method를 만들어(getInstance)
    Static 메모리 영역에서 Instance에 접근만 가능하도록 만드는 것.

자동차회사 가있고
자동차 회사에는 직원들이 있고
자동차 회사에는 여러 개의 공장들이 있고
생산된 자동차을 운반하는 운반자들 이 있다.

  • [자동차 회사] -> 유일해야 하는 인스턴스.
profile
starterdev

0개의 댓글