728x90
반응형
아마 이번 포스팅까지 제대로 정독 하셨다면, 구조체와 클래스가 형태가 비슷한 것으 알 수있습니다.
사실 구조체에도 생성자 메소드 함수를 넣고 그 기능을 사용하실 수 있습니다.
그럼 왜 클래스와 구조체가 나뉘어져있을까?
라는 의문이 드실 수도 있습니다.
그 의문을 해소하고 클래스 에 대하여 더 알아 봅시다.
구조체와 클래스 차이점
- 개념이 파생되게 된 계기가 다름
- 구조체 : 하나의 변수만으로 표현하기 어려운 것들을 표현하기 위해 설계
- 클래스 : 객체지향 프로그래밍을 실현하기 위해 설계
- 문법 상으론 차이점이 거의 없음
- 접근 제어자의 기본 값
- 구조체의 접근 제어자의 기본 값은 public
- 정보 은닉의 중요성에 따라 클래스의 접근 제어자의 기본 값은 private
getter & setter
- 클래스 외부에서 private변수에 접근할 수 있도록 도와주는 메소드
- getter : 변수를 반환해주는 메소드
- get + 변수 명 방식으로 함수 이름을 지정한다.
- setter : 변수에 값을 할당해주는 메소드
- set + 변수 명 방식으로 함수 이름을 지정한다.
실습. getter & setter 사용해보기
- Rectangle 클래스를 만들고 getter와 setter함수를 선언한다.
- 필드 변수 : width, height
- 메소드 : width와 height를 이용하여 사각형의 넓이를 반환하는 area 메소드 만들기
Rectangle rect(1,2) // 해당코드 이용하여 클래스 선언 후 넓이 출력
- setter 함수를 이용하여 사용자에게 입력 받은 width와 height를 Rectangle 클래스 필드에 저장한다.
- 출력 예시:
상속
- private : 해당 클래스에서만 접근
- protected : 상속관계 만 접근 가능
- 클래스를 상속 받으면 하위 클래스는 상위 클래스의 함수를 사용할 수 있다.
- 자식 클래스는 부모 클래스의 함수 사용 가능
실습. 클래스 상속 실습해보기
- 동물 클래스를 작성하고, 고양이, 새, 클래스에 각각 상속합니다.
- 동물 클래스에 이름, 나이를 입력하는 메소드 와 이를 출력하는 메소드, 먹이를 출력하는 메소드, 움직임을 나타내는 메소드를 정의한다.
- 각 고양이, 새 클래스에서 내부 변수를 이용하여 각 동물의 특성에 맞게 움직임을 나타내는 메소드를 실행한다.
- 출력 예시:
오늘도 같이 공부하시느라 수고 많으셨습니다!!!!!!

과제. 게임 캐릭터 생성하기
- Character라는 클래스 생성
- 필드 변수 : name, level, item_num
- 생성자 : 사용자에게 콘솔로 캐릭터 이름을 입력 받고, 캐릭터 생성하기
- 사용자에게 캐릭터를 어떻게 조작할지 입력하게 하기. (0을 입력할 때까지 입력한 번호에 해당하는 작업을 계속)
- 위 기능은 모두 Character의 메소드로 만들어져 있어야 함
해답 예시는 하루코딩에서 ~~~
반응형
'C++ IDE를 위한 과정' 카테고리의 다른 글
C++ 포인터 AND 동적배열 (0) | 2025.02.24 |
---|---|
C++ namspace (0) | 2025.02.21 |
C++ 클래스 & this pointer (0) | 2025.02.11 |
C++ 함수 def선언 (0) | 2025.02.10 |
C++ 구조체 (0) | 2025.01.23 |