캡슐화란 무엇일까?

2024. 11. 19. 15:22·JAVA

캡슐화는 객체 지향 프로그래밍의 핵심 원칙 중 하나로, 데이터를 외부에서 직접 접근하지 못하도록 숨기고,

허용된 메소드를 통해서만 접근할 수 있도록 제한하는 것을 말한다. 데이터를 보호하고 코드의 유지보수성과 재사용성을 높이기 위한 개념이다.

 

주요 목적

1. 데이터 보호

- 외부 코드가 객체의 내부 데이터를 직접 변경하지 못하게 막는다.

- 잘못된 데이터를 방지하고 객체의 무결성을 유지한다.

2. 정보 은닉

- 클래스 내부의 구현 세부 사항을 숨기고, 외부에는 필요한 인터페이스만 제공한다.

- 사용자는 클래스의 내부 동작을 몰라도 클래스의 기능을 사용할 수 있다.

3. 유지보수성 향상

- 내부 구현이 변경되더라도 외부에 영향을 미치지 않아 코드를 쉽게 수정할 수 있다.

4. 코드 재사용성 향상

- 캡슐화된 코드는 재사용성과 확장이 용이하다.

 

구현 방법

1. 필드(변수)를 private로 선언

- 외부에서 직접 접근할 수 없도록 접근 제한자를 사용(private)

2. Getter 과 Setter 메소드 제공

- 데이터를 읽거나 수정할 수 있도록 public 메소드를 통해 접근을 허용함

- Getter : 변수값을 반환하는 메소드

- Setter : 변수값을 설정하는 메소드

캡슐화의 장점

1. 안정성 : 잘못된 데이터나 무작위적인 수정으로부터 보호함.

2. 유연성 : 필요 시 내부 구현을 수정하더라도 외부 코드를 변경할 필요 없음.

3. 읽기 쉬운 코드 : 데이터들 다루는 명확한 인터페이스 제공함.

 

'JAVA' 카테고리의 다른 글

2025.01.02 (목) 12일차/ JAVA FOR문, WHILE문  (1) 2025.01.02
2024.12.30(월) 10일차 / Java 자료형  (0) 2024.12.30
클래스와 메소드에 대하여  (2) 2024.11.19
백준 문제 풀면서 자주 사용했던 함수 정리 (1)  (0) 2024.10.23
ASCII(아스키) 코드가 무엇일까?  (0) 2024.10.23
'JAVA' 카테고리의 다른 글
  • 2025.01.02 (목) 12일차/ JAVA FOR문, WHILE문
  • 2024.12.30(월) 10일차 / Java 자료형
  • 클래스와 메소드에 대하여
  • 백준 문제 풀면서 자주 사용했던 함수 정리 (1)
동준1234
동준1234
공부 기록
  • 동준1234
    dongjundev
    동준1234
  • 전체
    오늘
    어제
    • 분류 전체보기 (137)
      • 일상 (1)
      • 자격증 (7)
        • 정보처리기사 필기 준비 (6)
        • 정보처리기사 실기 준비 (0)
        • SQLD (1)
      • KPT 회고 (22)
      • SQL ORACLE (18)
      • project (3)
      • 백준 및 코딩테스트 공부 (6)
      • 4학년 캡스톤 디자인 및 전시회 (3)
      • 대학교 캡스톤 디자인 (6)
      • JAVA (48)
      • JDBC (1)
      • 네트워크 (1)
      • AI 머신러닝 (1)
      • Front-End (10)
      • Server (10)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
동준1234
캡슐화란 무엇일까?
상단으로

티스토리툴바