ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • c++ - 기초 클래스개념
    c++ 2019. 12. 22. 19:06

    대기업 중견급 기업 이상에서는 대부분 개발자 채용때 코딩테스트를 본다 
    수많은 언어들중 코린이들이 코테를 위해 가장 많이 사용하는 언어는 c++이다.
    java와 같은 객체지향언어로 포인터 개념, 메모리를 직접 관리할 필요는 없어서 머리가 덜 아프다

     

     

     

     

    c++은 class 개념이다, 클래스 선언의 형식은 structure의 선언과 유사하며 일반 형식은 다음과 같다 
    class class-name{

           private function and variables of the class

    public:

          private function and variables of the class

    }object-list;

    클래스의 선언에서 object-list는 선택사항이다, 구조체처럼 필요할때 마다 나중에 클래스 객체를 선언할 수 있다.

    class - name또한 기능상으로는 선택사항이지만 사실상 항상 필요하다 그 이유는 class-name이 클래스의 객체를 선언하는데 사용하기때문이다

     

    클래스 선언부 내에서 선언되는 함수와 변수들을 그 클래스의 맴버라고 한다. 클래스 내에 선언되는 모든 함수와 변수들은 디폴트로 비공개가 된다, 공개 클래스 멤버를 선언하려면 public이라는 키워드를 사용하고 뒤에:를 붙인다.

    public 뒤에 정의된 모든 함수와 변수들은 그 클래스의 다른 멤버들이나 그 클래스를 포함하는 프로그램 내에 존재하는 다른 부분들이 접근할 수 있다.

    ex>

    class myclass{

     

          int a;//비공개 변수

    public:

          void set_a(int num);

          int get_a();                      //set_a,get_a 공개함수

     

    }

    비공개 변수인 a는 myclass 외부에 존재하는 부분들은 접근불가

    set_a,get_a는 myclass의 공개 함수로 선언되었기 때문에 myclass를 포함하는 프로그램의 어느 부분에서도 호출가능

     

    이때 set_a와 get_a는 선언만 되었지 정의된 것은 아니다

    다음과 같이 정의해준다

     

    void myclass::set_a(int num)

    {

          a = num;

    }

    int myclass::get_a()

    {

         return a;

    }

     

    함수 둘다 비공개 변수인 a를 접근하고 있다 , 이때 두개의 함수는 공개함수로 선언 하였기에 비공개 변수인 a에

    접근할수있다.

     

    myclass 클래스를 메인 함수에 객체선언후 함수를 호출해보겠다.

    코드
    디버깅 결과 = 10

    정상적으로 10이 출력된것을 볼수있다.

     

    다음으로 공개 변수와 비공개 변수의 차이를 알아보자

    비공개변수 - 에러가 나는걸 볼수있다.(접근불가)
    변수 a를 public 안에 넣어 공개변수로 선언하면 변수 a에 접근가능

     

     

    위 예제와 같이 public 밖 에 선언된 비공개변수,함수는 myclass 밖에서 접근할수없다.
    public안에 선언된 공개변수는 myclass밖에서도 접근가능한것을 볼수있다.

    'c++' 카테고리의 다른 글

    생성자  (0) 2019.12.24
    중복 멤버 함수  (0) 2019.12.24
    c++ 데이터와 출력  (0) 2019.12.23
    연습 문제 - 2  (0) 2019.12.14
    연습문제 - 1  (0) 2019.12.14
Designed by Tistory.