//////
Search
🗒️

수진님_220923

날짜
2022/09/23
작성자
전수진
카테고리
회고

정보은닉

객체 외부에 인터페이스만 드러내고 객체의 내부 구현은 숨김
멤버 변수 선언시 private 접근제어 지정자 이용
메서드를 통한 안전한 접근만 허용

정보은닉을 위한 private 선언 예제

class Circle { private double rad = 0; final double PI = 3.14; public Circle(double r) { setRad(r); } public void setRad(double r) { // Setter if(r < 0) { rad = 0; return; } rad = r; } public double getRad() { // Getter return rad; } public double getArea() {...} }
JavaScript
복사
public static void main(String args[]) { Circle c = new Circle(1.5); System.out.println(c.getArea()); c.setRad(2.5); System.out.println(c.getArea()); c.setRad(-3.3); System.out.println(c.getArea()); c.rad = -4.5; // 컴파일 오류로 이어짐 System.out.println(c.getArea()); }
JavaScript
복사

생성자

객체가 생성될 때 단 한번 자동으로 호출되는 일종의 메서드
-객체의 멤버 변수를 ‘초기화’
-명시적으로 따로 호출하지는 않음
생성자 구현 조건
-생성자 이름은 클래스 이름과 같아야 함
-반드시 반환 자료형을 지정되지 않아야 함

default 생성자

컴파일러에 의해 자동으로 제공
프로그래머가 단 하나도 명시적으로 생성자를 정의하지 않은 경우에만 제공됨
프로그래머가 생성자를 하나라도 정의하면 제공되지 않음
인자가 없는 생성자
실제로 초기화를 위해 아무 일도 하지 않음
사용 예
Circle c = new Circle();
JavaScript
복사

패키지

비슷한 성격의 자바 클래스들을 모아 놓은 자바의 디렉토리
비슷한 성격의 클래스들끼리 묶을 수 있어 클래스의 분류가 용이

this 참조변수

메서드 호출시, 메서드 자신을 호출한 객체에 대한 참족값을 받는 변수
메서드 안에서 자동 정의되는 지역변수
메서드 안에서 그 자신의 다른 멤버들을 조작하고자 할 때 사용
내부적으로 전달되는 참조값
-멤버 접근시 컴파일러에 의해 기입됨(묵시적 사용)
명시적으로 사용해도 무방
-보통, 데이터 멤버와 매개 변수 구분 위해 사용