객체지향 프로그래밍과 OOP의 3대 컨셉 (1. Encapsulation(캡슐화, 은닉화)-접근지정자/package)
이번에는 캡슐화의 심화 과정을 다뤄보겠습니다.
그 전에 먼저 접근지정자에 대한 내용을 언급할까 합니다.
접근지정자는 총 4가지가 있습니다.
private, default, protected, public
윗 그림을 잠깐 훑으시고 아래 설명을 읽은 다음 윗 그림을 다시 읽으시면 이해가 편할겁니다.
상속이라는 것은 바로 다음 포스팅에서 설명 드릴텐데요.
아버지의 특성을 이어 받은 자식이라고 생각하시면 되겠습니다.
ppt에 너무 자세하게 적다보니 포스팅할 때 적는 글이 점점 줄어드네요ㅋㅋㅋㅋ
이제 문제를 보겠습니다.
생년월일과 나이를 같은 패키지 내의 2개의 클래스로 불러오는 것을 만들어보겠습니다.
(여기에도 주석에 다 설명을...)
전 year>0으로 연도를 0보다 크다는 조건으로 두고 생년월일을 private 이후 set/get을 이용했습니다.
그렇기 때문에 메인에서 my.birthday.setYear(-1991); 을 하더라도 유효성 검사에 의해 출력되지 않고 그냥 넘어가는 것을 결과화면에서 확인하실 수 있습니다.
마지막으로 이번에는 다른 패키지에 있는 클래스 파일을 이용한 연습문제를 다뤄보겠습니다. 차량의 속도를 바꾸고 변경하는 문제입니다.
캡슐화는 굉장히 쉽기 때문에 포스팅한 것을 보고나서 1,2번만 반복해줘라도 안잊혀지게 됩니다. 접근지정자는 자신이 이해하기 쉬운 단어로 비유해보시기 바랍니다.
코드를 읽지만 말고 한번이라도 타이핑해주세요~
그 전에 먼저 접근지정자에 대한 내용을 언급할까 합니다.
접근지정자는 총 4가지가 있습니다.
private, default, protected, public
윗 그림을 잠깐 훑으시고 아래 설명을 읽은 다음 윗 그림을 다시 읽으시면 이해가 편할겁니다.
상속이라는 것은 바로 다음 포스팅에서 설명 드릴텐데요.
아버지의 특성을 이어 받은 자식이라고 생각하시면 되겠습니다.
ppt에 너무 자세하게 적다보니 포스팅할 때 적는 글이 점점 줄어드네요ㅋㅋㅋㅋ
이제 문제를 보겠습니다.
생년월일과 나이를 같은 패키지 내의 2개의 클래스로 불러오는 것을 만들어보겠습니다.
(여기에도 주석에 다 설명을...)
전 year>0으로 연도를 0보다 크다는 조건으로 두고 생년월일을 private 이후 set/get을 이용했습니다.
그렇기 때문에 메인에서 my.birthday.setYear(-1991); 을 하더라도 유효성 검사에 의해 출력되지 않고 그냥 넘어가는 것을 결과화면에서 확인하실 수 있습니다.
마지막으로 이번에는 다른 패키지에 있는 클래스 파일을 이용한 연습문제를 다뤄보겠습니다. 차량의 속도를 바꾸고 변경하는 문제입니다.
캡슐화는 굉장히 쉽기 때문에 포스팅한 것을 보고나서 1,2번만 반복해줘라도 안잊혀지게 됩니다. 접근지정자는 자신이 이해하기 쉬운 단어로 비유해보시기 바랍니다.
코드를 읽지만 말고 한번이라도 타이핑해주세요~
댓글 없음: