드레:
코딩 뿌시기
드레:
전체 방문자
오늘
어제
  • 분류 전체보기 (268)
    • Python (74)
      • Python 기초 (42)
      • Numpy (8)
      • Pandas (22)
    • Machine Learning (31)
      • Machine Learning (1)
      • Deep Learning (27)
    • AWS (22)
      • RDS (3)
      • EC2 (9)
      • Lambda (8)
      • S3 (2)
    • MySQL (24)
    • Git (8)
    • Streamlit (12)
    • REST API (22)
    • Java (24)
    • Android (36)
    • Debugging (15)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • pandas
  • GET
  • volley
  • Retrofit2
  • 깃이그노어
  • tensorflow
  • CNN
  • AWS
  • 서버리스
  • fine tuning
  • Callback
  • github
  • Java
  • JWT
  • 액션바
  • Transfer Learning
  • rest api
  • Python
  • Ann
  • aws s3
  • 딥러닝
  • 네이버 API
  • serverless
  • API
  • 안드로이드 스튜디오
  • EC2
  • Streamlit
  • flask
  • AWS Lambda
  • Lambda

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
드레:

코딩 뿌시기

Java - 접근제어자와 getter/setter, 캡슐화
Java

Java - 접근제어자와 getter/setter, 캡슐화

2023. 1. 19. 15:06

1. 접근제어자

 

Java의 멤버변수와 메소드에는 접근제어자를 지정할 수 있다.

접근제어자의 위치는 데이터타입의 왼쪽이다.

  • 아무것도 적지 않는다(default) : 같은 패키지 내에서만 접근 가능
  • public : 아무 곳에서나 접근 가능
  • private : 선언된 클래스 내에서만 접근 가능
  • protected : 같은 패키지나 상속관계 일 때 접근가능

접근제어자

 

 

 

 

2. getter / setter

멤버변수가 private으로 되어있으면, 외부에서 접근할 수 없기 때문에
클래스에 멤버변수 데이터를 가져오는 메소드, 저장하는 메소드가 있어야 한다.
이를 getter/ setter 라고 부른다

public class Member {
	private String name;
	private String tel;
	private String address;
	
	public void setName(String name){
		this.name = name;
	}
	
	public String getName(){
		return name;
	}

	public String getTel() {
		return tel;
	}

	public void setTel(String tel) {
		this.tel = tel;
	}

	public String getAddress() {
		return address;
	}

	public void setAddress(String address) {
		this.address = address;
	}

 

 

 

이클립스에서 getter / setter 쉽게 만드는 방법

  • 클래스 내에서 마우스 우클릭

 

 

 

 

3. 캡슐화(Encapsulation)

 

접근제한자를 설정하고 setter/getter 메소드를 통해 접근하게 하는 이유는 무엇일까?

이런 것을 캡슐화라고 하는데 ,

캡슐화란 객체의 내부 구조 및 데이터를 캡슐처럼 감싸 외부에서 직접 볼 수 없게 은닉하여 보호하는 것을 말한다.

캡슐화를 통해 외부에서 내부의 정보에 접근하거나 변경할 수 없게 직접적인 접근을 막고, 객체가 제공하는 필드와

메소드를 통해서만 접근이 가능하다.

이렇게 접근을 제한함으로써 유지보수나 확장 시 오류의 범위를 최소화할 수 있고,

객체 내의 정보 손상과 오용을 방지하고 데이터가 변경되어도 다른 객체에 영향을 주지 않아 독립성이 좋다.

 

 

'Java' 카테고리의 다른 글

Java - 변수의 종류와 메모리 구조  (0) 2023.01.20
Java - 클래스 상속(Inheritance), 오버라이딩(Overriding)  (0) 2023.01.19
Java - this 키워드  (0) 2023.01.19
Java - 생성자(Constructor)  (0) 2023.01.19
Java - 메소드 오버로딩(Method Overloading)  (0) 2023.01.18
    'Java' 카테고리의 다른 글
    • Java - 변수의 종류와 메모리 구조
    • Java - 클래스 상속(Inheritance), 오버라이딩(Overriding)
    • Java - this 키워드
    • Java - 생성자(Constructor)
    드레:
    드레:

    티스토리툴바