1. 생성자(constructor) 💡 클래스를 통해 객체를 생성하면 무조건 호출되는 요소 특징) 무조건 동작해야하는 코드가 있을 경우, 생성자에 만들어준다. 생성자는 매개변수의 형태(개수나 타입)를 다르게하여 여러 개 만들 수 있음. ⇒ 오버로딩 그러나 자
우리가 흔히 쓰는 == 연산자, 즉 equals 는 같다는 의미를 가진다. 그렇다면 객체가 같다는 건 '주소값이 같다'를 의미하는 걸까, 아니면 '수학적 값이 똑같다'를 의미하는 걸까?이전 포스팅 에서 객체를
변수인 경우에는 프로그램 전체에서 딱 하나만 만들어 사용하는 변수를 의미한다. 정적 멤버는 객체 생성 없이 바로 사용하는 요소이다. 하지만 딱하나만 생성되기 때문에 객체의 멤버로 취급되지 않는다.

백준 풀 때 입력값 받을라면 split 이 너무 편한데 걍 split 쓰면 안되나 싶어서 찾아봤다. 생각보다 실행속도 면에서 꽤나 차이가 있다는데...? 직접 확인 해보고 싶어서 끄적여봤다.: 한정적이고 간단한 조건 (ex. 구분자가 1개, ...) 일 땐 확실히 sp
추상클래스와 인터페이스가 굉장히 헷갈리기에 개념도 잡을 겸 오버라이딩과 인터페이스에 대해 정리해보았다. overriding 상속 관계에서의 이야기. 부모가 가지고 있는 메서드를 다시 구현하는 개념 특징 매개변수의 형태, 이름, 반환값 등 모든 것이 같아야
모든 클래스의 부모 클래스이다. 코틀린의 모든 클래스는 Any를 상속받는다. 그렇기 때문에 모든 객체는 Any 타입 변수에 담을 수 있다.
also 는 코틀린에서 모든 객체에 기본으로 제공하는 함수이며, 속성의 변경 없이 중괄호 내 명령이 실행된다.

요즘 알고리즘 문제를 풀어보기 시작했다. 그러면서 새로 들인 습관이 있다. 내가 생각한 코드로 정답을 맞춘 뒤 GPT에게 코드를 더 짧게 리팩토링 해달라고 하는 것이다. 코드가 짧아지는 대신 실행 시간이 늘어나는 경우도 있고 아닌 경우도 있고, 미처 생각지 못한 접근법