커뮤니티

고용노동부, 산업인력공단과 함께하는 강원도 유일한 기업중심 IT전문교육기관 ICT융합캠퍼스만의 특별한교육입니다.
공인 IT숙련기술인의 다양한 접근방법으로 전문가다운 실무교육을 받을 수 있습니다.

Category

교육강좌

언어 PHP - 접근 제어자 (access modifier)

페이지 정보

작성자 관리자 댓글 0건 조회 2,344회 작성일 20-06-10 13:44

본문

접근 제어자 (access modifier)

수업소개

이번 수업에서는 캡슐화(encapsulation)이라는 것을 알아봅니다. 캡슐화는 객체의 사용자에게 필요한 정보나 기능만을 노출시켜서 객체를 보다 사용하기 쉽도록 하고, 객체가 고장나지 않도록 하는 여러가지 방법들입니다. 결과적으로 객체를 좋은 부품으로 만드는데 많은 도움을 줍니다.

객체지향 프로그래밍에서 접근제어자(access modifier) 혹은 속성의 가시성(property visibility)이라는 것은 캡슐화를 달성하는데 중요한 기능을 제공합니다. 

수업

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?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);
?>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?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());
?>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<?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());
?>

 

  • 트위터로 보내기
  • 페이스북으로 보내기
  • 구글플러스로 보내기

답변목록

등록된 답변이 없습니다.