웅쓰뚱쓰
웅쓰의 IT
웅쓰뚱쓰
  • 분류 전체보기 (127)
    • 프로그래밍 (31)
      • 자료구조&알고리즘 (12)
      • Django (1)
      • NAS (3)
      • python (1)
      • Java (2)
      • Kotlin (0)
      • 안드로이드 (0)
      • 백준 (6)
      • 프로그래머스 (1)
      • 블록체인 (4)
    • IT (57)
      • 스마트폰 (30)
      • 모바일 (3)
      • 기타제품 (9)
      • 기타기술 (10)
      • 소식 (5)
    • 꿀팁 (1)
      • 윈도우10 (1)
    • 리얼후기 (4)
      • 제품리뷰 (2)
      • 일상리뷰 (2)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • LG
  • 폴더블폰
  • 삼성
  • 블록체인
  • 이더리움
  • 안드로이드 스튜디오
  • 블랙프라이데이
  • 화웨이
  • 동적배열
  • 패스트캠퍼스 #패캠챌린지 #직장인인강 #직장인자기계발 #패스트캠퍼스후기 #Android앱개발올인원패키지Online
  • vr
  • 아마존
  • 앱 만들기
  • 백준
  • 안드로이드

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
웅쓰뚱쓰

웅쓰의 IT

코틀린 - 클래스 [패스트 캠퍼스 챌린지 08일차]
카테고리 없음

코틀린 - 클래스 [패스트 캠퍼스 챌린지 08일차]

2021. 11. 8. 23:00


클래스

 

클래스를 하나 만들어 보겠다

 

 

이렇게 필수적으로 필요한 파라미터를 받으면서 생성자를 바로 만들어 줄 수도 있고

 

 

 

클래스 내부에서 따로 생성자를 만들어도 된다

 

생성자가 더 필요한 경우에 대해 살펴보겠다

 

첫번째 방법으로 클래스를 만들었을 경우

 

추가적으로 생성자를 더 만드려면

 

 

기존에 있는 생성자를 이용하여 생성자를 만들면 된다

 

두번째 방법으로 클래스를 만들었을 경우는

 

 

이렇게 해도 생성자를 따로따로 만들어도 되고

 

 

기존에 있는 생성자를 활용해도 된다

 


 

생성자 변수에 대해

 

생성자 파라미터를 선언할 때

 

 

var나 val로 선언해주지 않으면

 

그 변수들은 인스턴스에 남아있지 않게 된다

 

생성자안에 있는 지역변수가 된다고 보면 된다

 

 

var나 val로 선언을 해줘야

 

인스턴스 변수가 되는 것이다

 

 

위 생성자에서 val나 var의 차이는

 

아래 생성자처럼 인스턴스 변수에 파라미터로 받은 값을 대입해주는 과정의 차이라고 보면 된다

 

 


 

init

 

코틀린에는 init메소드가 있다

 

인스턴스가 만들어질 때 제일 먼저 호출되는 녀석이다

 

 


 

Chaining

 

함수에서 새로운 인스턴스를 리턴하고

 

메소드를 계속 이어나가면서 사용할 수 있다

 

 

Calculator클래스의 plus메소드는 덧셈 결과를 담은 새로운 Calculator인스턴스를 리턴하고 있고

 

메인 함수에서는 이를 이용하여 계속 plus 메소드를 호출하고 있다

 

이를 체이닝이라고 한다

 


 

set, get

 

클래스 멤버변수마다 setter와 getter가 숨겨져 있다

 

이를 set, get을 통해 설정해줄 수 있다

 

 

메인 함수에서 Calculator인스턴스를 만들고 plus를 이용해 값을 더하고 있는 상황이다

 

만약 initialValue가 10이 넘어가면 다시 0부터 시작하도록 setter함수를 만들고 싶으면

 

 

해당 변수 바로 밑에 들여쓰기를 하고 set함수를 사용하면 된다

 

value는 initialValue변수에 대입해준 값을 나타내고

 

field는 initialValue변수 자신을 의미한다

 

마찬가지로 getter를 설정해주고 싶으면 get함수를 사용하면 된다

 


본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성되었습니다.

 

https://bit.ly/3FVdhDa

    웅쓰뚱쓰
    웅쓰뚱쓰

    티스토리툴바