본문 바로가기
프로그래밍 언어/JAVA

클래스와 객체 3

by LifeBuilder 2020. 6. 24.

참조 자료형 (Reference Data Type)

  • 변수의 자료형
    - 기본자료형 int, long, float, double 등
    - 참조형 자료형 String, Data, Student 등
  • 클래스 형으로 선언하는 자료형  

정보은닉 (Information Hiding)

  • private 접근 제어자
  • 클래스 외부에서 클래스 내부의 멤버 변수나 메서드에 접근하지 못하게 하는 경우 사용
  • 변수에 대해서는 필요한 경우 get(), set() 메서드를 제공

this 가 하는 일

  • 자신의 메모리를 가리킴
  • 생성자에서 다른 생성자를 호출
    - this를 이용하여 다른 생성자를 호출 할 때는 그 이전에 어떠한 statement도 사용할 수 없다.
    - this.ex 이전에 어떤 글도 쓸 수 없음
    - 생성자가 여러개 이고 파라미터만 다른 경우 constructor overloading 이라 한다.
  • 자신의 주소를 반환

Static 변수

  • 여러 개의 인스턴스가 같은 메모리의 값을 공유하기 위해 사용
  • Data 영역, 정적영역, 상수 영역
  • 전체 프로그램이 메모리에 로드될때 데이터 영역의 메모리에 할당된다 ( 상수, 리터럴, static 변수 )
  • 따라서 인스턴스의 생성과 관계없이 클래스 이름으로 직접 참조 함
    - Ex) Student.serialNum = 100; serialNum이 static 변수
  • 멤버변수는 다른 말로 인스턴스 변수라고 함

Static 메서드

  • static메서드에서는 멤버변수(=인스턴스 변수)를 사용 할 수 없다
    - 인스턴스 변수의 경우 꼭 인스턴스가 먼저 생성되어야 하므로 static 메서드에서는 생성이 불확실 한 인스턴스 변수를 사용할 수 없음. static 메서드는 생성(=new)하지 않아도 존재하기 때문에 생성이 불명확하다

변수의 유효 범위

static 응용 : singleton 패턴

  • 전 시스템에 단 하나의 인스턴스만이 존재하도록 구현하는 방식

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

위에서 객체는 무엇이고, 이 중에 자동차 회사 시스템을 만들 때 단 한개만이 존재하는 객체는 무었인가?

'프로그래밍 언어 > JAVA' 카테고리의 다른 글

배열과 ArrayList  (0) 2020.06.25
클래스와 객체 2  (0) 2020.06.14
클래스와 객체 1  (0) 2020.06.12
자바의 여러가지 연산자  (0) 2020.06.12
변수와 자료형  (0) 2020.06.10