반응형
말랑Cow
IT
말랑Cow
전체 방문자
오늘
어제
  • 분류 전체보기 (165)
    • Linux (33)
    • Windows (6)
    • Network (7)
    • Hardware (10)
    • Zabbix (13)
    • python (9)
    • script (0)
    • docker (16)
    • NAS (1)
    • DB (3)
    • php (33)
    • jQuery (1)
    • 정보보안기사 (0)
    • Ajax (1)
    • Javascript (21)
    • DELL (0)
    • HPE (0)
    • Secui (0)
    • AWS (2)
    • Elastic (0)
    • 보안 (1)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • bash
  • Python
  • ZABBIX
  • 네트워크
  • php 클래스
  • php 객체
  • Linux
  • Shell
  • jQuery
  • docker
  • 모니터링
  • 파이썬
  • php
  • 리눅스
  • CentOS
  • JavaScript
  • 자바스크립트
  • 자빅스
  • 서버
  • 도커
hELLO · Designed By 정상우.
말랑Cow

IT

클래스 및 객체(5)
php

클래스 및 객체(5)

2021. 8. 17. 14:16
반응형

이번엔 생성자에 대해 다뤄보겠습니다.

 

생성자란 ?

 

메모리상에 객체를 생성시켰을 때 가장 먼저 수행할 작업을 기술하는 메소드 입니다.

조금 더 쉽게 얘기하자면, 클래스 내에 해야 할 일들을 지정해 주는 것 입니다.

 

public function __construct

생성자의 사용법은 위와 같습니다.

 

코드로 확인해보겠습니다.

 

<?php

class Sports{
    private $a;
    private $b;
    private $c;

    public function __construct($a, $b, $c){
        $this->first = (is_string($a))? $a : "Error";
        $this->second = (is_string($b))? $b : "Error";
        $this->third = (is_string($c))? $c : "Error";
    }

    public function FavoriteSports(){
        return sprintf("My Favorite Sports <br/>first => %s <br/> second => %s <br/> third => %s", $this->first, $this->second, $this->third);
    }
}

$instance1 = new Sports("bowling", "basketball", 1);
echo $instance1->FavoriteSports();

?>

private 을 이용하여 같은 클래스 내에서만 유효한 a,b,c 변수를 만들고 Sports 라는 Class를 만들었습니다.

안의 세부내용은 __construct 생성자를 이용해 인스턴스 생성 시 다음과 같이 초기 값을 세팅해주었습니다.

a,b,c 각각의 매개변수의 인자값을 is_string으로 문자열인지 확인 후 참이면 a,b,c 거짓이면 Error 라는 문자열이 first, second, third 의 값으로 정해지게끔 코드를 작성했습니다.

 

이후 FavoriteSports 라는 메소드를 생성하였고, sprintf 함수로 괄호 안에있는 내용을 return 받습니다.

 

My Favorite Sports 다음 html에서 개행이 적용되게끔 <br/> 기호를 넣어주었고 first, second, third => %s 로 뒤쪽에 있는 $this->first,second,third 의 값을 넣습니다.

 

instance1 이라는 인스턴스를 Sports 클래스를 통해 생성하였습니다.

각 매개변수 자리에는 "bowling" "basketball" 이라는 문자와 1 이라는 숫자형을 대입해주었습니다.

그러고난후 Sports 클래스 내부에 있는 FavoriteSports 메소드를 호출해보았습니다.

 

각 인자값들이 잘 들어갔으며 third 부분은 1이 문자형이 아니기 때문에(is_string) Error 라는 문자열이 대입된 모습입니다.

 

반응형

'php' 카테고리의 다른 글

클래스 및 객체(7)  (0) 2021.08.19
클래스 및 객체(6)  (0) 2021.08.18
클래스 및 객체(4) - $this-> 의 이해  (0) 2021.08.05
클래스 및 객체(3)  (0) 2021.08.05
클래스 및 객체(2)  (0) 2021.08.04
    'php' 카테고리의 다른 글
    • 클래스 및 객체(7)
    • 클래스 및 객체(6)
    • 클래스 및 객체(4) - $this-> 의 이해
    • 클래스 및 객체(3)
    말랑Cow
    말랑Cow

    티스토리툴바