파이썬의 클래스기본 개념:클래스는 데이터와 기능을 함께 묶는 방법새 클래스 생성은 새로운 객체 타입 생성클래스 인스턴스는 자신만의 속성을 가질 수 있음파이썬 클래스의 특징:최소한의 새로운 문법으로 구현다중 상속 지원메서드 오버라이딩 가능모든 표준 객체 지향 프로그래밍 기능 제공파이썬 클래스의 특별한 점:대부분의 멤버가 public모든 메서드가 virtual (C++ 용어로)내장 타입도 상속 가능연산자 오버로딩 지원동적 생성 및 수정 가능객체와 이름의 관계 (Aliasing):여러 이름이 같은 객체를 참조할 수 있음가변 객체에서 중요한 개념함수에 객체 전달 시 효율적 (포인터와 유사)주요 특징:클래스 자체도 객체임포팅과 이름 변경 지원내장 연산자들을 클래스 인스턴스에 대해 재정의 가능파이썬 스코프와 이름 ..

추상화를 통한 복잡성 극복 복잡성의 총체인 현실을 그대로 수용하기에 인간의 인지 능력과 저장 공간이 제한적임 본능적으로 이해하기 쉽고 예측 가능한 수준으로 분해하고 단순화하는 전략을 따름 추상화란? 불필요한 부분을 도려내면서 사물의 본질을 드러나게 하는 과정 불필요한 부분을 무시함으로써 현실에 존재하는 복잡성 제거를 목적으로함 추상화의 두가지 차원 구체적인 사물들간의 공통점은 취하고 차이점은 버리는 일반화를 통해 단순하게 만듦 중요한 부분을 강조하기 위해 불필요한 세부사항을 제거하여 단순하게 만듦 객체지향과 추상화 앨리스 이야기 🏰 앨리스 두번째 이야기 요약 아름다운 정원에 들어선 앨리스는 정원사들과 마주쳤다. 정원사들은 트럼프처럼 생겼고 스페이드 무늬가 그려져 있었다 …. 하트 여왕의 행렬이 정원에 들..

기본적인 클래스 구조 및 생성 class키워드로 클래스를 선언하며 기본으로 public가시성을 가진다. 자바와 달리 객체를 생성시 new키워드를 사용하지 않는다. Java public class PersonJava { public static void main(String[] args) { PersonJava personJava = new PersonJava(); } } Kotlin class PersonKotlin { // empty class } fun main() { val personKotlin = PersonKotlin() } 클래스 생성자 하나의 클래스에는 주요 생성자와 보조 생성자를 가질 수 있다. 주요 생성자는 클래스명 뒤에 위치한다. class PersonKotlin constructor..