본문 바로가기
반응형

전체 글256

Chap_07. 다형성 다형성 : 하나의 클래스나 함수가 다양한 방식으로 동작가능한것. 상속 시간에 기본 카메라(Camera), 화재감지카메라(FactoryCam), 속도감지카메라(SpeedCam)을 생성하였다. 그리고 각각 Camera 클래스를 부모클래스로, FactoryCam과 SpeedCam 클래스를 자식클래스로 설정하였다. 이는 곧 아래와 같이 IS - A 관계라고 할 수 있다. FactoryCam is a Camera : FactoryCam 은 Camera이다. SpeedCam is a Camera : SpeedCam 은 Camera이다. 하지만 반대로 " Camera는 FactoryCam이라고 할수 있는가? " 혹은 " Camera는 SpeedCam인가? " 라고 질문한다면 아니라고 할 수 있다. 아래 예를 통해 생.. 2023. 4. 28.
Chap_07. 메소드 오버라이딩 메소드 오버라이딩 : 자식클래스에서 부모 클래스의 메소드를 덮어쓰기(재정의)하는 것이다. 이전 시간에 학습한 상속을 이용하여 메소드오버라이딩을 이해해보자. 상속 시간에 기본 카메라(Camera), 화재감지카메라(FactoryCam), 속도감지카메라(SpeedCam)을 생성하였다. 그리고 각각 Camera 클래스를 부모클래스로, FactoryCam과 SpeedCam 클래스를 자식클래스로 설정하였다. 그런데 각 카메라의 기능을 출력하는 메소드를 추가로 생성한다고 생각해보자. 부모클래스인 Camera 클래스 내에 showMainFeature() 메소드를 추가로 생성하였다. showMainFeature() 호출 시 각 클래스에 정의되어있는 name 변수와 해당 카메라의 주요기능을 출력하도록 하였다. 그리고 아래.. 2023. 4. 28.
Chap_07. 상속 상속: 부모클래스에서 제공되는 것을 자식 클래스에서 상속받아 사용하는 것이다. 상속은 하나의 부모 클래스로부터만 상속 받을 수 있는 제약이 있다. 상속은 자식 클래스 정의 뒤에 extends 부모클래스 명을 붙여 정의할 수 있다. 해당 내용을 학습하기 위해 하위패키지를 생성해보자. 참고로 인텔리제이 상단 [Code]-[Generate]-[Constructor]를 선택하거나 인텔리제이 화면내에서 Alt+Insert 동시에 누른 후 [Constructor]를 선택하면 자동으로 생성자를 만들 수 있다. 우선 실습중인 chap_07 패키지 안에 새로운 camera 패키지를 생성하였다. camera 패키지 내에 아래와 같이 Camera, FactoryCam, SpeedCam 클래스를 생성하였다. - 일반 카메라,.. 2023. 4. 28.
Python) 공공데이터 포털 API 공휴일 정보를 활용하여 전 영업일 계산하기 파이썬을 활용하여 당일 기준 전 영업일을 계산하는 로직을 만들어보자. 전영업일 : 주말+휴일을 제외하고 영업일 기준으로 전일자. Ex) 2023.5.8의 전영업일은 2023.5.4일이다. 한국 공휴일은 매년 달라지므로 공공데이터 포털 API를 활용하여 정보를 받아오도록 하자. 아래 작업을 수행하기 위해서는 먼저 회원가입을 해야한다. 회원가입이 완료되었다면 로그인 후 아래 사이트에 접근한다. https://www.data.go.kr/tcs/dss/selectApiDataDetailView.do?publicDataPk=15012690 한국천문연구원_특일 정보 (천문우주정보)국경일정보, 공휴일정보, 기념일정보, 24절기정보, 잡절정보를 조회하는 서비스 입니다. 활용시 날짜, 순번, 특일정보의 분류, 공공기관 .. 2023. 4. 28.
Chap_07. 패키지 하나의 프로젝트를 진행할 때 여러개의 클래스로 이루어지는데 서로 연관된 클래스들끼리 묶어두는 역할이 패키지이다. 패키지 안에 클래스를 만들게되면 클래스 맨 상단에 package 정보를 반드시 명시해야하며 대부분 IDE를 이용하면 패키지 정보를 자동으로 정의해준다. 아래와 같이 상단에 package chap_07; 로 패키지 정보가 정의되며 해당 정보를 지우면 오류가 발생된다. 만약 다른 패키지에 있는 클래스를 사용해야하는 경우에는 해당 패키지 내 클래스를 사용할 것이라는 것을 알려줘야한다. 그것을 알려주는 역할이 import이다. 접근제어자 학습때 예제를 살펴보면 package chap_08 의 _00_AccessModifierTest 클래스에서 package chap_07에 있는 BlackBoxRefu.. 2023. 4. 28.
Chap_07. 접근 제어자 접근 제어자 private : 해당 클래스 내에서만 접근 가능 public : 모든 클래스에서 접근 가능 default : 같은 패키지 내에서만 접근 가능, 아무 접근제어자도 설정하지 않았을때 기본값. protected : 같은 패키지 내에서는 접근 가능, 다른 패키지인 경우 자식 클래스에서만 접근 가능 접근제어자를 학습하기 위하여 BlackBoxRefurbish라는 클래스를 새로 생성하였다. Tip) Getter & Setter 를 쉽게 생성하는 법 변수를 선언한다 상단 바 중 [Code]-[Generate] 메뉴 접근 팝업 내 [Getter and Setter] 클릭 Getter와 Setter를 생성할 변수 클릭 (Ctrl 이나 Shift를 이용하면 복수선택 가능) 이전 Getter & Setter .. 2023. 4. 27.
반응형