[PHP 7] 클래스의 생성과 사용

김와앙·2023년 11월 3일

PHP 7

목록 보기
18/20

인터넷에 있는 많은 자료들, function 으로 되어있는 것도 있지만 class 로 구성된 것도 있기때문에 기본적인 클래스 이해를 위해 이 강의를 진행한다.

: 클래스의 개념은 거의 내가 배웠던 것과 유사..
: 클래스 vs function 은 의미없고 그냥 자신이 편한걸 사용하면 된다.

function 기반 코드

<?php


        function info($name, $age){

            echo "<hr>이름: ".$name."<br>나이: ".$age."";

        }

        info(("와아잉"), ("23"));
        info(("김하나"), ("21"));
        info(("김두울"), ("22"));

  • 정형화된 데이터를 반복할 때는 아주 편하다.
  • function 단점 : 여기서 이름만 출력하거나 나이만 출력하고자 할 때 힘들다.

=> 그런 부분을 객체화 시켜서 특정 부분만 가져와서 쓸수 있도록 한게 클래스.

class 기반 코드

=> 클래스를 객체에 할당해서 쓰는 방식

<?php


    class info{

    } //클래스 선언

    $a = new info;
    $b = new info; // 할당
    print_r($a);
    print_r($b);

  • 변수 a 와 b 는 완전 다른 객체로 각각 할당을 받는다

클래스 내의 private / public

<?php


    class info{
        private $_age; //클래스 내 이름은 _ 을 붙여 명시해주면 알아보기 편함.
        public $_name;

    }


    $a=new info; //할당

    $a->_age=78;
    $a->name= "할아버디";

    echo $a->_age; //오류발생
    echo $a->_name;
  • private 선언된 클래스 멤버는 외부에서 사용할 수 없기 때문에 오류가 발생한다.

  • private 선언이 된 부분을 접근 시키기 위해 따로 메소드를 만들어 접근할 수있도록 한다.

  • 보통 클래스안의 function 을 메소드라고 칭한다.

<?php


    class info{
        private $_age;
        public $_name;

        public function setAge($age){
            $this->_age = $age;
        }
        public function getAge($age){
            return $this->_age;
        }

    }


    $a=new info; //할당

    $a->setAge(78);

    echo $a->getAge($a);
  • getAge / setAge 라는 메소드로 접근하여 출력한 모습이다.
profile
greedy college ssu.tudent 👩‍🎓

0개의 댓글