23.11.29

KSang·2023년 11월 29일
0

TIL

목록 보기
1/101

in setOf

범주안에 포함되어 있는 경우

if(operator !in setOf("+","-","*","/","%")){
            num1 = operator.toDouble()
            continue
        }

계산기 만들때 입력된값이 부호가 아닐때를 구분해서 반복문을 다시 실행 시킬수 있었다.

Try-catch 블록

예외처리할때 사용했는데

Int를 받는 변수가 문자를 받았을때 NumberFormatException오류가 뜬다

이를 해결하고자 NumberFormatException오류가 뜨면 예외처리하고 경고문을 띄운뒤 연산을 다시 진행시켜 해결했다

추상화

interface 파일과 추상클래스를 이용해서 추상 메소드를 오버라이드해

불특정 다수의 클래스를 묶어서 사용할수 있었다.

클래스를 세분화해 코드가 지저분해지지 않고 유지보수하기 좋게 만들 수 있었다

복수의 인터페이스를 상속시킬수 있다. class A() : B , C

sqrt

제곱근을 구하게 도와주는 함수

var result = sqrt(n.toDouble())

반복문없이 편하게 구할수 있다.

아스키코드

문자열에서 toInt로 정수로 바꾸면 아스키 코드로 바껴서 47~56까지 수 가 나왔다.

이를 해결하기위해 '0'을 문자열로 받고 '0'.toInt를 사용해 정수로 바꾼뒤 빼줘서 해결했다

mutableListOf

가변 리스트 리스트 크기가 정해지지 않을때 바뀔수 있는 리스트를 작성해준다

생성자

init 주생성자

constructor 부생성자

클래스를 불러올때 실행되는것들 주생성자는 조건이 고정되고 부생성자는 다양하게 설정가능

상속

부모에서 자식으로
ex) 새는 난다 -> 참새는 난다
->비둘기는 난다

오버라이드
자식마다 다르게 개성을 추가 가능
새는 난다 -> 참새는 짹짹거리며 난다
-> 비둘기는 구구하며 난다

ctrl + O 를 누르면 오버라이딩 할수 있는 목록 가져옴

오버로딩

fun add(num1: Int, num2: Int): Int {
      return num1+num2
  }
  
  fun add(num1: Double, num2: Double): Double {
      return num1+num2
  }

같은 코드를써도 타입을 다르게 해준다

다양한 타입의 값을 입력 받아도 메소드가 실행될수 있게 해준다

자료형이 같고 갯수가 달라도 오버로딩이 가능하다

0개의 댓글