->

이거에 대해서 씨발 애새끼들이 존나게 오해 하는데.


이걸 뭐라고 생각하면 편하냐 하면


어른이 심부름 할때 "너" 라고 하면서 손가락으로 가르킨다고 생각하면돼..



이걸 프로그래밍에 대입해보면


이게 변수가 될수도 있고 함수가 될수도 있고 트리 안에 내용이 될수도 있는데



이걸 존나 어떤 새퀴는 함수 가르키느데 쓰는거다.


아니다 이건 메소드"만" 지칭하는거다 그러는데.



OOP 를 배경으로 한 지시자는 이게 변수,함수 뿐만 아니라 상수랑 클래스 외의 클래스도 가르킬수 있음.



이걸 존나 어렵게 생각하는데 어른이 막걸리 심부름 시키는걸로 생각하면 조혼나 상황은 다 끝나.



ex))


집안에 고추 안서는 할배가 있는데  틈만나면 집안 둘째 한테 막걸리 심부름을 시킨다고쳐



할배 : 야! 너 가서 막걸리 사와.


둘째 : 아놔 첫째 냅두고 왜 나한테만 막걸리 사오라고 난리냐고요 진짜.. 내가 할배 따까리여?? 야! 막내! (손가락으로 가르키면서) 막걸리 사와.


막내 : 으.. 진짜 씨발... 고놈의 나이가 깡패지 진짜.. 이거 형한테 심부름 시킨거자너 왜 내가 가는데.



이 때 첫째 등장.


첫째 : 으휴.. 다들 하여튼 새퀴들이 집안에 도움이 안되. 시끄러워 새퀴들아 그냥 내가 간다 내가가.. 으휴 앓느니 죽지..



둘째,막내 : 이햐!! 씐난다!! 횽 쵝오임 ㅋㅋㅋㅋㅋㅋㅋㅋ






이 대화 내용을 도식화 해보면 ??


할배 -> 둘째 -> 막내 -> 첫째



이렇게 됐지??


그런데 이걸 그냥 곧이 곧대로 이해 해서 받아 쳐먹으면 진짜 그건 문돌이 대가리여


대화 내용 마지막은 뭐다?? 앓느니 죽지 이러고 형이 스스로를 호출해서 형이 심부름을 가게됨.


그럼 다시 알아 쳐먹도록 도식화 해보면



할배 -> 둘째 -> 막내 -> (셀프로 심부름 하겠다고한)첫째



이렇게 함.


여기서 동작이 구분이되지 않음??



할배,둘째,막내는 누군가 한테 등을 떠밀듯 시켰는데  첫째는 지가 혼자서 가겠다고함.


그럼 이걸 업무상으로 끝과 시작을 구분을 해야겠지??



할배 -> 둘째 -> 막내  (업무끝)| (스스로 업무 생성 및 시작 ) 첫째



그런데 내가 서두에 뭐라고 그랬냐


-> 이 지시자는 함수고 변수고 나발이고 바깥 클래스고 뭐고 안가린다고 그랬지??



할배는 클래스로 두고 둘째 상수 막내를 함수로 두고 첫째는 맨 나중에 따로 또 일을 시키자고..



언어는 php 야.


ex.php


<?

class halbe { public $work = makgoli;  }

// 할배라는 클래스를 만들고 해야할일은 막걸리 심부름임. $work 라는 변수에 막걸리가 들어가있음. ㅋㅋ


define(duljjae,"why?");

// 이건 위의 클래스와는 전~~~~~혀 상관없는 그냥 프로그램 안에 둘째라는 상수를 지정해둠 값으로는 왜??? 라는 변수를 저장함


function maknae() { echo "ssibal!!"; }

//이것도 또!! 별도임. 막내라는 함수를 지정함. 지정하면 씨발!!을 외침 ㅋㅋㅋ

?>


보다시피 하나는 클래스고 하나는 상수고 하나는 함수임.. 완전히 상관없지??



그런데 이걸 유기적으로 결합 시켜서 막걸리 심부름을 첫째 형이 가도록 해보자고.


마지막 조건 같은건 없어 그냥 형이 앓느니 죽는다고 하고 갔으니깐 그냥 막걸리 심부름을 가게 만드는거임..



ex.php 아래에 계속


<?


class halbe { public $work = makgoli;  }

 


define(duljjae,"why?");

 


function maknae() {


$ssang = "ssibal!!";


global $ssang; // 지역변수를 전역변수로 쓸수 있게끔 할려고 하는 방법임 global 선언

return  $ssang;  // 함수를 호출하면 $ssang 을 리턴함.


}

?>



<?

/*막걸리 사건의 시작. 할배가 먼저 막걸리를 외치면서 시작됨 ㅋㅋㅋ*/



$ggo_jang  = new halbe; // 사건의 주인공인 할배를 우선 호출함 ㅋㅋㅋㅋㅋ 변수 이름은 꼬장임.



if($ggo_jang->work == "makgoli")  {

/*지시자 등장!! 꼬장안에 막걸리 라는 변수를 지시 하면서 물어봄.  $ggo_jang->work 즉 선언한 클래스의 work 라는 변수에서 막걸리가 있나 보는거임 조건의 충족은 참이므로 if 문 안의 문법들을 실행함. */


$ggo_jang->work =  duljjae;


/*둘째한테 일을 넘겨버림 ㅋㅋㅋㅋ 둘째는 졸지에 막걸리 라는 변수 안에 갇히게됨.

이때 echo $ggo_jang->work;라고 쳐보면 상수로 선언한 ssibal!! 이 나옴 ㅋㅋ*/


}

?>


<?

if($ggo_jang->work == "ssibal!!") {

  // work 라는 변수에 둘째가 외친 씨발이 들어있으면 아래를 수행하게됨 ㅋㅋㅋ 

  // 둘째는 아까 말했듯 졸지에 $work 라는 변수에 갇힘 ㅋㅋ


    echo maknae();  // if 문 내에서 막내 라는 함수 호출

 

}


?>



이렇게 1 차 상황이 종료됨..


그럼 형은 어떻게 했다고??

 

자기 스스로 막걸리 심부름을 갔다고 했지?



그렇게 따지면 할배가 해야 할 일을 결국 이어서 한거라고 결론 난거나 마찬가지라 이거지..



<?


class first_bro extended halbe {



    function __construct(){ echo halbe::work; } 




}


//첫째라는 클래스를 생성하고 할배라는 클래스를 상속 받으면서

//스스로  할배안의 클래스의 work 라는 변수 내용을 출력하고 끝내게끔함.



최종출력


$makgeoli = new first_bro;


echo $makgeoli-> work;

 

?>



대충 살펴봤다.