자바 공부 기록(6)-생성자,캡슐화,접근 제어자
my code archive
article thumbnail
반응형

 

생성자

- 모든 클래스는 생성자가 반드시 하나 이상 존재한다.

->프로그래머가 만들지 않으면 자바에서 자동으로 제작한다 ->기본 생성자

- 일반적으로 인스턴스 변수의 초기화에 많이 활용한다.

- 무조건 void 메서드이다.

- 오버로드 (overload) 방식을 자주 활용한다.

Card myCard = new Card();
//클래스 이름과 동일

1. new 키워드와 함께 사용되며 신규 인스턴스를 생성한다. (초기화)

2. 생성자 Card()를 실행하고 초기화와 함께 인스턴스 생성

3. 생성된 인스턴스의 주소값을 참조 변수 myCard에 저장

생성자 - this

this : 자기 자신을 의미.

-인스턴스 자신을 가리키는 참조 변수이다.

-동일 클래스 내 다른 생성자 호출에 사용한다.

 

this 는 자기 자신을 참조하는 변수이기 때문에

오른쪽 예제에서

Car c1 = new Car (); ->색깔, 기어 타입, 문 갯수 랜덤으로.->white, auto, 4로 출력됨.

Car c2 = new Car ("Blue")->나머진 괜찮은데 색깔은 blue로. -> blue, auto, 4로 출력됨.

Car c3 = new Car ("Red", "stick" , 2)->red, stick, 2로 출력됨.

캡슐화
패키지(package)

 

 

- 고유한 이름을 가지는 클래스들의 묶음

- 한 패키지에 같은 이름의 클래스 생성할 수 없다.

- 다른 패키지에는 같은 이름 생성할 수 있다.

- 마침표(.)를 구분자로 계층 구조를 구성한다.

ex) C:\JAVA\eclipse

-> C:\.JAVA.eclipse

 

 

import 선언

다른 패키지에 저장되어 있는 클래스를 간편하게 불러올 수 있는 것.

원래는 패키지명이 포함된 클래스 명을 매번 사용해야 하지만

import 선언을 사용하면 이 불편함을 줄일 수 있다.

예제 주석처럼 원래는

java.util.Data today = new java.util.Date();를 적어야 하지만

import java.util.Date; -> 이렇게 간단하게 출력이 가능하다.

접근 제어자(access modifier)

클래스, 변수, 메서드 접근을 제어하기 위한 특수한 키워드

public : 접근 제한 없음!!

protected : 같은 패키지 내, 다른 패키지 자손 클래스에서 접근 가능

default (아무것도 명시하지 않음) : 같은 패키지 내에서 접근 가능

private : 같은 클래스 내에서 접근 가능

 

public int age;

public double height;

private double weight; -> private 접근 제어자를 사용했기 때문에 다른 클래스인 오른쪽 예제에서 에러가 뜨는 것.

 

불편하지만 은행 같이 보안이 철저한 곳에서 자주 사용한다고 한다.

getter / setter

접근 제어자로 막혀있어 접근이 제한된 요소에 접근할 수 있도록 제공하는 메서드.

 

getter - 데이터를 가져오는 역할 / get변수명()

setter - 데이터를 저장시키는 역할 / set변수명()

 

원래는 private로 묶여있는 상태이지만

getSecret() 변수를 사용해서

그 값을 리턴하는 방식으로 -> 한 다리 건너서 사용할 수 있는 방식이라고 이해하면 쉽다.

 

ex) 친구와 친한 여자가 마음에 들 때 바로 가서 번호를 물어보긴 부끄럽지만

친구를 통해 (한 다리 건너서) 소개시켜달라고 부탁하는 방식.

 

 

 

반응형
profile

my code archive

@얼레벌레 개발자👩‍💻

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!

반응형