php class 질문드립니다.

php class 질문드립니다.

QA

php class 질문드립니다.

답변 3

본문

php 공부중입니다..ㅜㅜ 여러질문을 남겼고 답변도 받았는데 해결되지않아서요.ㅜㅜ
제일 궁금한것이 글로 class 의 개념을 이해하기가 너무 어렵더라구요
그래서 간단하게라도  function 로 되어있는 소스가
class 썼을때의 장점이 비교된 예제나 이런걸 어디서 찾아볼수 있을까요...
글로는 너무 어려워서 이런 예제를 보면 왜 class 를 쓰는구나 이해가 쉬울것같아서요;;ㅜㅜ
아무리찾아봐도 안보여서요..ㅜㅜ

이 질문에 댓글 쓰기 :

답변 3

또뵙네요 김준수님 ㅎㅎ..

...

하 자세히 알려드리고싶다 ㅠㅠ ㅋㅋㅋㅋㅋ 

잠시만요 ㅋㅋ

음..... 어떻게 설명드릴까 클래스 문법은 많이 봐서 아실테고

간단하게 요약하자면

우리가 짠 코드를 그냥 널부러져 있는 옷가지라고 본다면

함수는 한개의 서랍이라고 보시면 될것 같고

클래스는 그 서랍들을 모아놓은 서랍장이라고 생각하시면 쉬울것 같아요 ㅎㅎ

 

함수라는건 일정부분의 코드를 정리해놓은거잖아요?

제 생각에 가장 중요한 특징은 "함수에서의 변수는 함수 안에서만 통용된다" 에요

이건 거의 모든 언어가 동일하구요

 

그런데 클래스는 해당 클래스 안에서 변수가 통용되고 (생성자)

그 안에 여러개의 함수를 담을수가 있어요

 

본인이 직접 클래스를 만들고 싶다면 본인이 만든 코드를 쭉 정리해보세요

리팩토링이라고 하지요 ㅎㅎ

함수로 정리하는게 한계가 느껴질때쯤 아~~~ 클래스가 필요하구나~~~

이게 체감이 되실거 같아요

 

일단 중요한건 이해를 하는것이기 때문에 이정도만 아시면 될것 같고

사용하시다 보면 어떻게 쓰는지는 아실거에요 상속에 getter / setter 등등등등등.....

답변 너무 감사합니다..
답변에주신 서랍과 서랍장의 예제는 이해가 됩니다.
그런데 이걸 소스로 적용한다고하면 도무지 이해가 안갑니다...
그래서 아주 간단하게라도 동일기능을하는소스중
함수로 되어있는것과 클래스로 되어있는것이 있을때
어떤경우에 클래스로 되어있는게 좋은지 알고 싶은데 방법을 모르겠습니다..

제가 일전에 올린질문중...
그누보드의 함수를 몇개를 올렸는데요
이중 어떤부분을 클래스화 했을때 좋은점이 있는지 살짝만 조언해주실수 없으신가요;;ㅜㅜ

//멤버성별에 따라 아이콘 보여주기
function member_sex($mb_sex)
{
  if($mb_sex=="F") echo "<img src=/F.png width=10>";
  if($mb_sex=="M") echo "<img src=/M.png width=10>";
}
 
// 멤버의 레벨을 추출
function member_level($mb_id='')
{
  global $g4,$g5;
 
    $sql = " select mb_level from g5_member where mb_id = '".$mb_id."'";
    $row = sql_fetch($sql);
  return $row[mb_level];
   
}
 
// 멤버의 데이터추출
function member_data($mb_id='')
{
  global $g4,$g5;
 
    $sql = " select * from g5_member where mb_id = '".$mb_id."'";
    $row = sql_fetch($sql);
  return $row;
   
}
 
 
// 멤버가 회원가입시 중복된 아이디가
function member_data($mb_id='')
{
  global $g4,$g5;
 
    $sql = " select * from g5_member where mb_id = '".$mb_id."'";
    $row = sql_fetch($sql);
  return $row;
   
}
 
 
// 회원 삭제
function member_delete($mb_id)
{
    global $config;
    global $g5;
 
  ...................
 
}

클래스: 설계도 (예: 차 설계도 경우, 차체, 바퀴, 운전대, 등....차가 가져야 할 기본 특징과 동작을 정리)

객쳬: 대상 (예: 스포츠카, 버스, 트럭 등....)

속성: 특징 (예: 속도, 색깔, 좌석수... 등등)

메서드: 동작 (예: 전진, 후진, 경적울리기 등등.)

 

클래스를 바탕으로 여러 가지 차 종류(=객체)를 뽑습니다.

(객체.속성 / 객체.메서드) 형식으로 각객체의 특징좌 동작을 표현 가능합니다.

답변 너무 감사합니다..
개념적인 부분은 이해가 조금되는데, 이게 실 소스에 반영했을때를
정말 모르겠습니다...
아래 그누보드의 함수가 있는데... 이것들중 어떤것들을
클래스화 했을때 어떤경우에 좋은점이 있는지... 시간되시면
상황좀 말씀붙가드려도 될까요ㅜㅜ

//멤버성별에 따라 아이콘 보여주기
function member_sex($mb_sex)
{
  if($mb_sex=="F") echo "<img src=/F.png width=10>";
  if($mb_sex=="M") echo "<img src=/M.png width=10>";
}
 
// 멤버의 레벨을 추출
function member_level($mb_id='')
{
  global $g4,$g5;
 
    $sql = " select mb_level from g5_member where mb_id = '".$mb_id."'";
    $row = sql_fetch($sql);
  return $row[mb_level];
   
}
 
// 멤버의 데이터추출
function member_data($mb_id='')
{
  global $g4,$g5;
 
    $sql = " select * from g5_member where mb_id = '".$mb_id."'";
    $row = sql_fetch($sql);
  return $row;
   
}
 
 
// 멤버가 회원가입시 중복된 아이디가
function member_data($mb_id='')
{
  global $g4,$g5;
 
    $sql = " select * from g5_member where mb_id = '".$mb_id."'";
    $row = sql_fetch($sql);
  return $row;
   
}
 
 
// 회원 삭제
function member_delete($mb_id)
{
    global $config;
    global $g5;
 
  ...................
 
}

답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
전체 123,157
© SIRSOFT
현재 페이지 제일 처음으로