• 회원가입
  • 로그인
  • 구글아이디로 로그인

[PHP-생코] PHP 7강 - 접근제어자 = 속성의 가시성(property visibility) ※ 캡슐화(encapsulation)

1,425  


접근 제어자 1 - 개념

 

접근제어자(access modifier) = 속성의 가시성(property visibility) 

캡슐화 달성 수단 중 하나.

 

캡슐화(encapsulation)

객체 사용자에게 필요한 정보/기능만 노출시켜서, 편의성 및 안정성 높이는 작업.

 

 

 

 

접근 제어자 2 (private vs public)


<?php

class MyFileObject{

  private $filename;

  function __construct($fname){

    $this->filename = $fname;

    if(!file_exists($this->filename)){

      die('There is no file '.$this->filename);

    }

  }

  function isFile(){

    return is_file($this->filename);

  }

}

$file = new MyFileObject('data.txt');

// $file = new MyFileObject();

// $file->filename = 'data.txt';

var_dump($file->isFile());

var_dump($file->filename);

?>

 

 

 

접근 제어자 3 - (private vs public)

 

<?php

class Person{

  private $name;

  function sayHi(){

    print("Hi, I'm {$this->name}.");

  }

  function setName($_name){

    if(empty($_name)){

      die('I need name');

    }

    $this->name = $_name;

  }

  function getName(){

    return $this->name;

  }

}

$egoing = new Person();

$egoing->setName('egoing');

$egoing->sayHi();

print($egoing->getName());

?>

 


접근 제어자 3 (method visibility)

 

<?php

class Person{

  private $name;

  public function sayHi(){

    print("Hi, I'm {$this->name}.");

  }

  public function setName($_name){

    $this->ifEmptyDie($_name);

    $this->name = $_name;

  }

  public function getName(){

    return $this->name;

  }

  private function ifEmptyDie($value){

    if(empty($value)){

      die('I need name');

    }

  }

}

$egoing = new Person();

$egoing->setName('egoing');

$egoing->sayHi();

print($egoing->getName());

?>

 

https://opentutorials.org/module/6/15730

 

PS.

 

Visibility 

https://www.php.net/manual/en/language.oop5.visibility.php

 

접근제어자

https://homzzang.com/b/php-1065

 

 


분류 제목
PHP-서기 php 10. 그외의 form관련 태그들 (input, textarea, select, option) ★★★…
PHP-서기 php 9. form 태그를 이용한 값의 전달 ★★★
PHP-서기 php 8. get방식의 전달과 테이블, 스타일태그의 사용 + 사칙연산
PHP-서기 php 7. Get방식을 이용한 변수의 전달 ★
PHP-서기 php 6. Hello PHP - 기본명령어 (include, echo, print, printf(), 변수…
PHP-서기 php 5. 웹서버/웹브라우져/PHP란 무엇인가
PHP-서기 php4. 스타일 시트
PHP-서기 php 3. 테이블 태그의 심화 - 셀합치기
PHP-서기 php 2. 하이퍼링크, 테이블태그의 사용방법 (HTML 기초)
JQ-샵투 제이쿼리( jQuery) 20강 - 총정리 기말고사
JQ-샵투 제이쿼리( jQuery) 19강 - 다른 js 프레임워크와 함께 사용하기 noConflict Method
JQ-샵투 제이쿼리( jQuery) 18강 - jQuery AJAX (아작스)
JQ-샵투 제이쿼리( jQuery) 17강 - DOM tree 내에서의 종횡무진 하기
JQ-샵투 제이쿼리( jQuery) 16강 - Dimensions: jQuery 를 이용해 객체의 면적 다루기
JQ-샵투 제이쿼리( jQuery) 15강 - jQuery 를 이용해 CSS 다루기
JQ-샵투 제이쿼리( jQuery) 14 강 - jQuery 를 이용해 Elements,Content를 추가, 제거 하…
JQ-샵투 제이쿼리( jQuery) 13 강 - jQuery DOM : text, html,val,attr 문서 객체 …
JQ-샵투 제이쿼리( jQuery) 12 강 - jQuery Chaining 여러 명령을 엮어서 사용하기
JQ-샵투 제이쿼리( jQuery) 11 강 - jQuery Callback Functions 진행 중 효과를 다 실행…
JQ-샵투 제이쿼리( jQuery) 10 강 - jQuery stop 움직이는 효과를 중단시키기
14/35
목록
찾아주셔서 감사합니다. Since 2012