써치킴의 우당탕탕 개발 블로그

[Java][Ch2] 캡슐화 본문

더 자세하게 Java

[Java][Ch2] 캡슐화

써치킴 2022. 5. 13. 01:44

캡슐화

속성과 그 속성을 사용하는 함수를 모아 하나의 클래스로 묶는 것

  • 장점 : 데이터(속성)의 구조 변경 시 영향을 받는 지역을 한정 

this

현재 자신의 객체를 가르키는 키워드 (생략 가능)

※ 주의사항
  1. 생성자 함수에서 this() 호출 시 다른 코드보다 가장 먼저 실행
  2. this()는 생성자 메서드에서만 사용한다. (일반 메서드에서 this()를 사용할 수 없음)

접근제어자 

  • 클래스 멤버의 접근 권한을 지정
  • 객체의 초기화에 대한 제한
  • 캡슐화 유지의 가장 중요한 도구
  • 같은 클래스에서만 접근 가능, 다른 클래스에서 직접 접근 금지

생성자 함수

구분
내용
목적
객체(인스턴스)의 초기화
다양한 속성값을 가지는 객체를 생성할 수 있음
특징
객체 생성시 무조건 한번은 실행
(Exam exam = new Exam);
분류
생성자도 메서드이다.
단, 특별한 메서드임

생성자 주의 사항

주의사항
비고
생성자 함수를 정의하지 않으면
컴파일러가 기본 생성자를 만들어 줌
생성자 함수를 정의하면
void X
(int a, int b, String s)

static (고정된) 

클래스에 고정된 필드 메서드

  • 객체를 생성하지 않고 접근 가능(Math.random())
  • 정적 필드, 정적 메서드
  • 객체에 소속되지 않고 클래스 소속이어서 클래스 멤버라고도 한다
  • 변수와 메서드 관계

  • static 메서드는 클래스로 접근한다.
  • static은 객체와 별도이다. (클래스 영역이 따로 있음) => static은 인스턴스 변수와 따로 놀아야 한다.
  • static 메서드는 인스턴스 변수에 접근 불가, static 변수에 접근 가능
  • 인스턴스 메서드는 인스턴스 변수에 접근 가능, static 변수에 접근 가능

'더 자세하게 Java' 카테고리의 다른 글

[Java][Ch2] is-a 상속  (0) 2022.05.13
[Java][Ch2] has-a 상속  (0) 2022.05.13
[Java][Ch2] 객체지향_클래스  (0) 2022.05.13
[Java][Ch1] 참조타입  (0) 2022.05.13
[Java][Ch1] 제어문 - 반복문  (0) 2022.05.13
Comments