캡슐화 3

접근 제어자

자바는 public, private 같은 접근 제어자(access modifier)를 사용한다. 접근 제어자를 사용하면 해당 클래스 외부에서 특정 필드나 메서드에 접근하는 것을 관리할 수 있다. 이해를 한 내용들은 생략을 하자면.. 기존 코드를 이어받게 되었을 때, 요구사항을 잘 모르는 상태에서 private으로 접근이 제한되어있지 않다면새로운 개발자가 기능을 추가할 때 치명적 오류가 발생할 수 있다.. 해당 필드에 직접 접근을 막기위해 private을 사용한다. private : 모든 외부 호출을 막음default : 같은 패키지 안에서의 호출은 허용protected : 같은 패키지 안에서 호출 허용 + 패키지가 달라도 상속관계 호출은 허용public : 모든 호출 허용 private -> defaul..

Java 2024.05.28

객체 지향 프로그래밍

이번 섹션에선 절차 지향 프로그래밍과 객체 지향 프로그래밍을 비교해보고 객체 지향 프로그래밍에 대해 학습했다. 절차 지향 프로그래밍절차지향 프로그래밍은 이름 그대로 절차를 지향한다. 이전에 다뤘던 예제들은 모두 절차지향 프로그래밍이다.실행 순서를 중요하게 생각하는 방식으로 코드를 작성했기 때문이다. 즉 "어떻게"를 중심으로 프로그래밍 한다. 객체 지향 프로그래밍객체지향 프로그래밍은 이름 그대로 객체를 지향한다. 객체를 중점으로 프로그래밍 하는 방법이다.객체지향은 실제 세계의 사물이나 사건을 객체로 보고, 객체간의 상호작용을 중심으로 프로그래밍한다.즉 "무엇을" 중심으로 프로그래밍 한다. 이 중 핵심은 객체 지향은 속성(변수)과 기능(메서드)가 객체 안에 포함되어 있다는 것이다. (캡슐화)  자바에서 da..

Java 2024.05.08

캡슐화

캡슐화(encapsulation)란 클래스를 작성할 때 외부에서 숨겨야 하는 속성이나 기능 가시성 지시자(visibility modifiers)를 통해 외부 접근 범위를 결정할 수 있다. private: 이 지시자가 붙은 요소는 외부에서 접근 불가 public: 이 요소는 어디서든 접근이 가능 (기본값) protected: 외부에서 접근할 수 없으나 하위 상속 요소에서는 가능 internal: 같은 정의의 모듈 내부에서 접근 가능 public, private 코드 예시 package com.example.demo.inherit private class PrivateTest { private var i = 1 private fun privateFunc() { i += 1 println(i) } fun ac..

Kotlin 2023.12.24