목록오버로딩 (3)
브래의 슬기로운 코딩 생활
바인딩에는 두 종류가 있다. 정적 바인딩과 동적 바인딩 인데 정적 바인딩은 컴파일 시 변수나 함수가 결정 되는 것이고 동적 바인딩은 실행할 때 결정되는 것이다. 그리고 오버로딩과 오버라이딩의 차이점은 오버로딩은 같은 클래스 안에 이름이 같고 매개변수의 수나 타입이 다른 함수가 중복되 있는 것이고 오버라이딩은 부모클래스와 자식클래스에 이름과 매개변수의 수와 타입도 완전히 같지만 리턴값만 다른 함수가 여러개 존재하는 것이다. 오버라이딩은 부모 클래스의 함수에 virtual키워드를 쓰면 된다. 그리고 정적 맴버 변수는 객체들 모두 공유하는 멤버 변수라는 뜻이다. 그리고 정적 멤버 변수를 선언하면 반드시 정의를 해주어야 한다. 마지막으로 탬플릿은 사용하면 자료형을 나중에 결정하는 것으로 template 을 쓰고..
오늘은 함수 중첩과 생성자 중첩 디폴트 인자에 대하여 공부 하였다. 일단 객체 지향 프로그래밍의 3가지 특징은 캡슐화, 상속성, 다형성이 있다. 오늘 배운 내용은 다형성에 관한 내용이다. 함수 중첩은 C언어에서는 안되지만 C++은 가능하다. 함수 중첩은 하나의 함수명으로 여러 개의 유사 목적으로 사용할 수 있다. 생성자도 여러개를 중첩 시킬 수가 있지만 소멸자는 중첩이 불가능 하다. 왜냐하면 함수를 중첩 하는 경우는 매개변수의 형이 다른 경우와 매개변수의 개수가 다른 경우인데 생성자는 매개변수의 개수를 다양하게 할 수 있지만 소멸자는 매개변수 없이 그냥 호출 되기 때문에 소멸자는 중첩 시킬 수 없다. 그리고 디폴트 인자는 말 그대로 호출할 때 매개변수값을 지정하지 않으면 기본값으로 들어갈 값이다. 디폴트..
프로퍼티에는 저장 프로퍼티와 계산 프로퍼티가 있다. 저장 프로퍼티는 초기값이 있어야 하고 계산 프로퍼티는 안에 값을 리턴하는 getter 메서스와 값을 대입하는 setter 메서드가 필요하다. getter는 setter가 없으면 생략가능 하지만 setter가 있다면 생략할수 없다. 매개변수명은 newValue가 기본이며 매개변수명이 newValue면 (myValuie)를 생략할 수 있다. 메소드 오버로딩 - 매개변수의 개수와 자료형이 다른 같은 이름의 함수를 여러개 정의 할 수 있다. init?는 Failable Initializer (실패 가능한 생성자) 이다. ,so 나 .dylib - shared obhect - sharped library - 윈도우의 dll - 동적 링크 라이브러리 (프로그램 실..