접근 제어 제시자란 무엇일까?
전단계에서 배운 객체지향 패러다임과 연관이 있다
내가 다른 클래스에서 멤버 변수,메소드,생성자들을 이때까지 그냥 사용할수있었던
defalut값이 자동으로 적용이 되서 그렇다
defalut에 대해선 아래 접근 제어 지시자의 종류에 대해서 살펴보자
접근 제어 지시자의 종류를 간단하게 보면 이렇다
즉 내가 해당 클래스 내에서만 멤버변수의 값, 메소드의 기능, 생성자 양식을 설정하고싶다면
private기능을 활용하자
예를 들어
내가 은행 시스템을 만든다고 가정하였을때
은행의 속성(멤버 변수)에는
은행의 이름(name)
내 은행 계좌 잔액(balance)
가 있다고 하자
내가 은행 클래스에서 이름을 우리은행이라고 설정하였는데
다른 클래스에서 이름을 바꿔버리면 곤란한 상황이 온다 이때 활용 할수있는것이 private 기능이다.
하지만 이렇게 name과 balance를 private기능으로 잠궈버리면
내가 은행에 돈을 입금하고 출금할때 잔액의 변화가 있어야하는데
잠궈버려서 곤라해져버렸다 이럴때에 활용할수있는것이
getter , setter 메소드이다
getter 메소드부터 살펴보자
getter 메소드는 단순히 해당 클래스의 멤버변수값을 반환해준다.
setter 메소드는 해당 클래스의 멤버변수에 값에 영향을 준다
예를 들어 내가 money값에 10000원을 집어넣는다면
bank의 balance(잔액)은 10000원으로 변환이되는것이다.
하지만 -10000원을 집어넣는게 가능할까?
그런것을 막기위해 방어적코드
조건문을 활용하여 0이하인 값은 집어넣지 못하게 막을수가있다.