로그인

검색

php 에서 함수에 관해 공부를 할때 코드의 재활용이나 효율성등을 고려해서 코드의 집합을 하나의 함수로 만들고 해당 함수를 다양한 곳에서 호출하여 함수 안의 코드가 작동해서 결과를 얻어낼 수 있다고 학습했습니다.

 

여기서 더 확장된 개념이 객체화 라는 것입니다.

 

class 라는 것을 정의하고 해당 class를 여러 인스턴스로 구분해서 사용할 수 있게 해 줍니다. 다양한 인스턴스를 생성해서 class를 계속 활용할 수 있으니 효율이 높아지겠죠.

 

class Class_name {

 

}

 

이런 형식으로 class 단위로 만들어 줄 수 있습니다.

 

class 안에는 함수(메서드)를 작성해서 인스턴스(객체)를 생성해서 수시로 사용할 수 있게 합니다.

 

class Class_name {

 

public function func_name() {

실행코드

}

}

 

 

이렇게 class를 만들고 활용하면 되는 것 입니다.

 

인스턴스를 생성한다 또는 객체를 생성한다는 의미는 

$name = new Class_name;

 

이렇게 새로운 인스턴스로 해당 클래스를 사용하겠다라고 작성해 주는 것으로 출발합니다.

이제 $name 에 사용할 변수를 할당할 수 있습니다.

 

$name->value1 = 'string';

$name->value2 = 1234;

 

 

다시 새로운 인스턴스를 생성해서 class를 또 사용할 수 있습니다.

 

$name = new Class_name;

$name->value1 = 'test';

$name->value2 = 5678;

 

 

php 코드 중에서 $this->블라블라 이부분이 자주 등장했는데 이부분이 뭔지 궁금하셨던 분들이 많을 겁니다. 저도 이번에 객체에 대해서 공부하면서이 부분이 왜 등장하는지 알게 되었네요.

 

 

객체화에 대해 조금 쉽게 이해하도록 간단한 예제코드로 살펴보겠습니다.

 

<?php

class test{

public function testfunc() {
print $this->value1."<br>";
print $this->value2."<br><br>";
}

}

 

$ins = new test;
$ins->value1 = 'abcd';
$ins->value2 = '1234';

$ouput = $ins->testfunc();
echo $output;


$ins = new test;
$ins->value1 = '가나다라';
$ins->value2 = '0987';

$ouput = $ins->testfunc();
echo $output;


$arg = new test;
$arg->value1 = '1234';
$arg->value2 = 'ABCD';

$ouput = $arg->testfunc();
echo $output;

 

 

class 를 만들고 이 class를 여러번 다른 인스턴스에서 활동하도록 코드를 짜 보았습니다.

 

결과는

 

abcd
1234

가나다라
0987

1234
ABCD

 

 

이렇게 출력이 되게 됩니다.

 

3개의 인스턴스에서 클래스의 메서드(함수)가 실행이 되어서 나온 결과입니다.

한번의 클래스 작성으로 다른 인스턴스에서 변수에 각기 다른 값을 적용하여 결과를 만들어 낼 수 있는 것 입니다.

 

 

여기서 $this 의 역할이 눈에 보입니다.

 

 

화면 캡처 2021-09-12 135158.png

 

객체화의 장점을 확인 할 수 있을 것 같습니다.

$this가 가리키는 것은 현재 메서드를 호출하고 있는 인스턴스를 지목하고 있는 것 입니다.

 

대략 객체화의 아주 기본적인 구조에 대해서 꼭 이해를 해야 좀더 고급의 코드 작성을 학습할 수 있을 것 입니다.

Who's 꿀팁관리소장

profile
라이믹스로 커뮤니티 사이트를 운영하는 비개발자 운영자 입니다.
파트너쉽 맺으실 사이트 운영자분 환영합니다.
2 추천
Atachment
첨부 '0'
  • profile
    adlib 2021.09.14 13:46
    점점 어려워지네요.
    요즘 시간이 안나서 일주일에 두번 정도 방문하는데
    포기하면 안되는데. ㅠㅠ
  • profile
    꿀팁관리소장 2021.09.14 13:48
    To.adlib
    제가 중요하다고 생각하는 것만 기록으로 남기는 것이라 제 글만 보고 php를 학습하는 것은 어려울 수 있습니다. 책을 보시면서 학습하시고 제 글도 보시고 병행하시는게 좋을 거에요.
  • profile
    꿀팁관리소장 2021.09.14 14:26
    To.adlib

    그리고 이부분이 어렵게 느껴지신다면 아마도 함수 부분의 구조에 대한 이해가 조금 부족해서 일 수 있습니다. 함수 부분을 학습을 확실히 한번해보세요.

     

     

    public function func_name() {

    실행코드

    }

     

    요기 까지가 함수 부분이고 class 부분이 등장하는게 이 함수를 객체화 해서 사용하려해서 생긴 것입니다.

  • profile
    adlib 2021.09.16 06:31
    To.꿀팁관리소장
    자세한 설명 감사합니다.
    한국의 반대쪽에 있다보니 뭐하나 구하는게 쉽지가 않네요.
    앞으로도 많은 도움 부탁드립니다.

php 기초지식(24)

php를 학습할 수 있습니다.

  1. read more
  2. read more
  3. php 객체 확장

    Date2021.09.20 Views155 Votes2
    Read More
  4. php 객체 생성자 __construct 메서드

    Date2021.09.17 Views395 Votes2
    Read More
  5. Read More
  6. php 객체 지향의 이해 4

    Date2021.09.12 Views209 Votes2
    Read More
  7. php isset()

    Date2021.09.11 Views102 Votes2
    Read More
  8. php 변수의 영역 전역변수와 지역변수

    Date2021.08.29 Views1552 Votes2
    Read More
  9. php 함수의 반환값

    Date2021.08.28 Views133 Votes2
    Read More
  10. php 함수의 기초

    Date2021.08.25 Views151 Votes2
    Read More
  11. php 다차원 배열

    Date2021.08.14 Views408 Votes2
    Read More
  12. Read More
  13. Read More
  14. php 배열의 원소 제거 unset()

    Date2021.08.08 Views283 Votes2
    Read More
  15. Read More
  16. Read More
  17. php 배열(array)

    Date2021.07.31 Views143 Votes2
    Read More
  18. php 반복문 for, while

    Date2021.07.28 Views376 Votes2
    Read More
  19. php 증감 연산자 ++, -- 3

    Date2021.07.27 Views191 Votes2
    Read More
  20. 활용이 가장 많은 중요한 if 조건문 3

    Date2021.07.26 Views182 Votes2
    Read More
  21. php 이스케이프 \(역슬래쉬) 사용 1

    Date2021.07.24 Views629 Votes2
    Read More
  22. Read More
Prev 1 2 Next
/ 2