내일배움캠프 10일 차

남궁현·2023년 7월 21일
0

10일 차 소감

  • 예비군 이슈로 18일 7일차부터 20일 9일 차 까지 스킵됬다. 그 영향으로 개인과제를 오늘 하루만에 하느라 좀 힘든 날이였다.

기억의 남는 점

  • 추상 클래스를 사용해서 간단한 계산기를 만드는 과제여서 금방 하긴 했지만, 과제 해설 영상과 내가 짠 계산기는 완전 다른 느낌이였다. 나는 추상클래스를 만들어준 후 오버라이딩 해서 클래스를 +, -, /, *, % 5가지의 클래스를 만들어준 후 메인 코틀린 파일에서 객체 생성을 해준 후 값을 readLine으로 넣어 주며 잘못된 값이 들어가면 예외 처리로 잡아주는 계산 로직을 짰다. 그런데 과제 해설 영상에서는 하나의 클래스를 더 만들어준 후 그 클래스 생성자에 객체들을 넘겨준 후 그 클래스 생성자에서 로직이 돌아가는 형식이였다. 이런 식으로 짜볼 생각을 안해봐서 그런지 이해가 안되서 튜터님에게 물어봤다. 튜터님은 내가 짠 코드도 잘 짠 코드고 방식이 다를 뿐이다 틀리지 않았다 라고 말씀해주셨다. 그 말을 듣고 자신감도 올라갔고, 다른 사람의 코드도 내것과 다르다면 공부 해봐야 겠다는 생각이 들었다.

review

추상(Abstract) 클래스

  • 설계의 명세와 공통 기능을 구현한 클래스를 말한다. 추상이란 단어 그 자체로 구체적이지 않은 것이다. 하위 클래스는 추상 클래스를 상속 받아 오버라이드 해서 내용을 구체화한다.

인터페이스(Interface)

  • 사용하지는 않았지만 추상 클래스와 항상 함께 나오는 것이다. 왜냐하면 추상 클래스와 같이 하위 클래스에서 상속 받아 구체화하는 것은 똑같지만, 추상 클래스는 프로퍼티의 상태 정보를 저장할 수 있지만 인터페이스는 저장할 수 없다.

접근 제한자

  • 접근 권한을 제한하면서 데이터의 무분별한 접근을 막을 수 있다.

  • 클래스들 간 접근하면 안되는 상황을 구분 할 수 있어 유지보수 용이

  • public : 어디서나 접근 할 수 있다.

  • private : 같은 클래스 내부에서만 접근 가능하다.

  • internal : 같은 모듈 내부에서만 접근 가능하다. (예를 들면 같은 패키지 내부)

  • protected : 기본적으로 private과 같지만 상속을 받으면 다른 모듈에서 접근할 수 있는 특정 권한을 준다.

예외 처리

  • 프로그램을 실행하는 도중 발생하는 오류를 실행시키지 않고 대처하거나 미리 대비하는 것을 말한다.

1차 과제 - 계산기 코드 중 일부

  • try-catch

  • throw
profile
신입 안드로이드 개발자

0개의 댓글