[ php ] php 객체지향 - 클래스 정의, 객체 생성, 접근, 생성자, 소멸자 > php

본문 바로가기
사이트 내 전체검색

php

[ php ] php 객체지향 - 클래스 정의, 객체 생성, 접근, 생성자, 소멸자

페이지 정보

작성자 웹지기 댓글 0건 조회 1,162회 작성일 19-05-16 17:57

본문

클래스 정의

  - 객체는 class 키워드로 클래스를 정의

  - 클래스의 정의에는 클래스이름(대문자 소문자 구분)과 속성 메소드가 포함

  - 클래스는 데이터를 저장하는 속성 값을 가지고 있슴.

  - 데이터를 가공 / 처리하기 위한 메소드를 포함

 

객체

   - 자바와 흡사하고 trait(특성)이 추가 되었슴.

   - 클래스 외부에서 클래스의 static(고정), constant(상수)에 접근할 때, 

     클래스 내부에서 상속 계층상의 프로퍼티나 메소드에 접근 할 때는 ->가 아니라 ::를 사용한다

 

  = 접근제한 키워드

     public, protected, private

  = 생성자, 소멸자

function __construct( ) { }

function __destruct( ) { }

  

  = 객체생성은 new 키워드를 사용

<?php

$test = new User; //new키워드로 User객체를 생성

class User

{

    public $id, $name; //public로 변수선언

    function printUser( ) //User클래스에 printUser 메소드 선언

    {

        print_r($this); //User클래스 출력

    }

}

?>

 

  = 접근

    객체의 속성에 접근하는 방법은 -> 를 사용

    new로 생성한 User 클래스를 대입한 $test의 name의 속성에 접근 방법은 $test -> name

    객체메소드 printUser() 접근 방법은 $test -> printUser( )

    속성이나 메소드 접근시 "$"를 붙이지 않음

 

 = 복제

    새로운 메모리를 할당하는 것이 아닌 객체의 주소값을 전달하는 것

    새로운 객체의 복제는 clone 키워드를 사용

 

<?php 

$test = new User(); //User객체를 생성해서 test변수에 대입

$test -> name = "No"; //test객체의 name속성에 "No" 대입

$test2 = clone $test; //test객체를 복제하여 test2에 대입

$test2 -> name = "Hahaha"; //test2 객체의 name속성에 "Hahaha" 대입

echo "--- test name ---".$test -> name."<br>"; //No출력

echo "=== test2 name ===".$test2 -> name ."<br>"; //Hahaha출력

?>

 

 

상속

  - extends 단일상속만 허용

  - implements 인터페이스는 여러개 받아 구현가능

  - final 오버라이드나 상속을 금지

 

  = trait 

     상속, 인터페이스, 트레이트

     오버라이드 순위 " 클래스 메소드 > 트레이트 메소드 > 상속한 메소드 "

trait UserTrait

{

    public function userTraitMethod( )

    {

    

    }

}

class UserClass

{

    use UserTrait, ...;

    ....

}

 

추천0 비추천0

댓글목록

등록된 댓글이 없습니다.

Total 80건 1 페이지
  • 80 [ php ] phpsocket.io 사용법
  • Start php start.php start for debug mode php start.php start -d for daemon mode php start.php restart Stop php start.php stop Status php start.php status
  • 웹지기 05-08 107 0 0 댓글 0
  • 79 [ php ] php에서 0값의 인식문제
  • $a = 0; if(isset($a) &amp;&amp; $a!="") echo "0있어"; else echo "0없어"; 현재는 이러한 형태로 해놓은 상태이다.
  • 웹지기 03-21 194 0 0 댓글 0
  • 78 [ php ] php error root write ( php 오류 root에 저장하기 )
  • php 오류를 root페이지에 저장하고 싶을 때 /home/test/public_html 위 폴더가 root라고 할 때 해당폴더에 저장할 파일명을 아래처럼 적어준다. &lt;?php ini_set("log_errors", 1); ini_set("error_log", "/home/test/public_html/php-error.log"); ?&gt; 간단하게 &lt;?php error_log($log...
  • 웹지기 02-21 198 0 0 댓글 1
  • 77 [ php ] htmlspecialchars 와 json 의 관계
  • htmlspecialchars는 특수문자를 HTML 엔티티로 변환해준다. 수행되는 번역 Character Replacement &amp;(ampersand) &amp;amp; "(double quote) &amp;quot;, unles...
  • 웹지기 12-04 464 1 0 댓글 1
  • 76 [ php ] 위도 경도로 직선거리 계산하기
  • 첫번째 위도 경도, 두번째 위도 경도 를 통해서 직선거리 구하기 함수를 만들고 그에 해당하는 위도와 경로를 설정해서 거기를 환산해보면 된다. 값은 거리상의 km이다 소수점 아래 몇짜리까지 사용할 것인지는 알아서 판단하면 된다. &lt;?php /** * Calculates the great-circle distance between two points, with * the Haversine formula. * @param float $latitu...
  • 웹지기 10-03 695 0 0 댓글 0
  • 열람중 [ php ] php 객체지향 - 클래스 정의, 객체 생성, 접근, 생성자, 소멸자
  • 클래스 정의 - 객체는 class 키워드로 클래스를 정의 - 클래스의 정의에는 클래스이름(대문자 소문자 구분)과 속성 메소드가 포함 - 클래스는 데이터를 저장하는 속성 값을 가지고 있슴. - 데이터를 가공 / 처리하기 위한 메소드를 포함 객체 - 자바와 흡사하고 trait(특성)이 추가 되었슴. - 클래스 외부에서 클래스의 static(고정), constant(상수)에 접근할 때, 클래스 내부에서 상속 계층상의 프로퍼티나 메소드에 접근 할 때는 -&gt;가...
  • 웹지기 05-16 1163 0 0 댓글 0
  • 74 [ php ] php 절차지향 객체지향
  • 절차지향(procedural programming) - 절차지향 프로그램은 위에서 아래로 흐르는 순차적인 처리 - 프로그램 전체가 유기적으로 연결되도록 만드는 프로그램 객체지향(OOP, object-oriented programming) - 객체지향 프로그램은 개발하려는 것을 기능별로 묶어 모듈화로 하드웨어가 중복 연산되지 않게 함 - 모듈을 재활용하는 방식이므로 하드웨어 처리량이 줄어듬 - 데이터와 절차를 하나를 덩어리로 묶어서 사용, 컴퓨터 부품을 하나씩 사서 조립하는것과 같음 ...
  • 웹지기 05-16 1000 0 0 댓글 0
  • 73 [ php ] 스코프 해결 연산자 / Scope Resolution Operator (::)
  • Scope Resolution Operator (Paamayim Nekudotayim이라고도 함) 또는 더 간단한 용어인 이중 콜론은 정적 , 상수 및 재정의 된 속성 또는 클래스의 메서드에 대한 액세스를 허용하는 토큰입니다 . 클래스 정의 외부에서 이러한 항목을 참조 할 때 클래스 이름을 사용하십시오. PHP 5.3.0부터 변수를 사용하여 클래스를 참조 할 수 있습니다. 변수의 값은 키워드가 될 수 없습니다 (예 : 자기 , 부모 및 정적 ). Paamayim Nekudotayim은 처음...
  • 웹지기 05-07 878 0 0 댓글 0
  • 70 [ php ] php 7.x에 대한 상수 정의( define( ) ) 부분에 관하여.......
  • 이제는 상수도 잘 사용해야 할 것 같습니다. 기존 php 5.x 이하버젼에서는 define('_GNUBOARD_', false); 일때는 defined('_GNUBOARD_') 출력하면 아무것도 뜨지 않았던 걸로 기억을 합니다. 7.X 버젼에서 define('_GNUBOARD_', false); 일때는 defined('_GNUBOARD_') 를 출력해보면 1이라는 숫자가 뜨는군요. define('_TEST_',''); 빈값일때도 1을 출력하는군요 define('_GN...
  • 웹지기 12-18 1396 0 0 댓글 0
  • 69 [ php ] searialize(), unserialize() 배열의 직렬화(일렬화), 일반화, 많은 필드…
  • (PHP 4, PHP 5, PHP 7) serialize — 값의 저장 표현을 생성 설명 string serialize ( mixed $value ) 값의 저장 표현을 생성합니다. 이는 PHP 값을 저장하거나 전달할 때 자료형이나 구조를 잃어버리지 않게 합니다. 일렬화된 문자열을 다시 PHP 변수로 만드려면, unserialize()를 사용합니다. 인수 value 일렬화할 값. serialize()는 resource형을 제외한 모든 형을 다룹니다. 자기 자신을...
  • 웹지기 12-06 1582 0 0 댓글 0
  • 68 [ php ] 상대경로와 절대경로, 열린문서의 절대경로, 상대경로, url, uri 나타내기
  • 1. 절대경로 - 어떠한 웹페이지나 파일이 가지고 있는 고유한 경로를 말한다. - 예를들어 https://funyphp.com, C:\users\document\funyphp.jpg 등을 모두 절대 경로라고한다. - 다르게는 '그 위치'라는 개념이라고 말할 수 있는데 주소라고 생각하면 이해하기 더 쉽다. - 예를 들어 내가 만약 d:\file 또는 c:\file\img.jpg 등 절대 경로를 알고 있으면 그곳으로 바로 이동하거나 그곳에 있는 파일을 바로 실행 가능하다는 것. - 따라서, ...
  • 웹지기 11-07 4491 0 0 댓글 0
  • 66 [ php ] json 배열 출력 방식에 따른 차이
  • $data = array('id' =&gt; '88', 'country' =&gt; 'Korea', 'brand' =&gt; 'Samsung, Sony'); 이와같은 값을 json_encode($data); 하면 echo json_encode($data); 다음처럼 출력 {"id":"88","country":"Korea","brand":"Samsung, Sony�...
  • 웹지기 11-06 1695 0 0 댓글 0
게시물 검색

회원로그인

접속자집계

오늘
2,316
어제
2,729
최대
24,117
전체
573,839

그누보드5
Copyright © funyphp.com. All rights reserved.