super 클래스는 항상 자식 생성자의 첫번째 디폴트에 생략되어 있다 == : 위치비교 .equals( ) : 값 비교 final class : 상속 금지 - 확장 불가 -> has ~a관계 가능 final method : 오버라이딩 금지 final 변수 : 값 변경 금지 -> 상수 추상 메소드 - 공통된 이름만 제공 -> 자식이 기능을 만들어야함 (강제성) - 객체를 만들 수 없다 - 추상 클래스를 객체로 만들 수 있는 예외적인 경우 : anonymous inner class -> 이벤트 처리 - C++에서 순수 가상 함수와 같은 기능을 한다 - 미완성 메소드 - 여러개를 받을 수 있는 interface를 선호
클래스 관계 1. has ~a : 클래스의 내용을 가져다 쓴다 - data와 관리 class - 포함 object - 제일 많이 쓰는 방식 #include "stdafx.h" #include #include #include using namespace std; //has ~a 관계 class A { string name; public : A() { //디폴트 생성자 cout name = name; } string getName() const { return name; } }; class B { A aa; //포함 object int age; public : B() { cout age = age; } int getAge() const { return age; } //A를 가져다 쓰기 void setName..
클래스 : 추상적인 것을 객체화 시킨 것 #객체 : 사람이 정의할 수 있는 모든 것 절차 지향 : 순서에 의해서 진행 -> C 스타일 객체 지향 : 확장성, 유지보수성이 가장 중요! 기본 형태 class 클래스 이름 { //내용 }; //세미 콜론 필수! 클래스 안에 들어가야할 내용 1. Member variable - 멤버 변수 // Field 2. Member function - 멤버 함수 // Method 3. Constructor - 생성자 default로 정의되는 함수 1. 생성자 함수 : 객체 등록 시 자동으로 호출되어지는 함수 - 역할 ㉠ 객체 필드 초기화 -> 쓰레기 값 방지 ㉡ 객체 등록 -> default - 접근 지정자는 주로 public을 사용 ( 필수는 아님 ) -> 외부 함수에서..