반응형
Web Development · PHP class
PHP 클래스 —
객체지향 프로그래밍의 시작
class · public · $this 의 기본 문법
시작 오늘 분석할 코드
<?php class User{ public $name = '철수'; public function print_hello(){ print $this->name; print " 님 안녕하세요!<BR>"; } } ?>
PHP는 함수형으로 시작했지만 후에 객체지향(OOP)을 도입했다. class로 새 자료형을 정의하고, 그 안에 멤버변수와 메서드를 둔다.
용어 용어 정리
class새 자료형(객체의 틀) 선언 키워드
멤버변수클래스 안에 있는 변수 (= 속성)
메서드클래스 안의 함수
public외부에서 접근 가능 (접근 제어자)
private클래스 내부에서만 접근
$this현재 객체 자기 자신을 가리키는 변수
->PHP의 객체 멤버 접근 연산자
vs JavaJava는 a.name, PHP는 $a->name
1 클래스 = 설계도
클래스는 객체를 찍어내는 틀이다. 이 자체는 데이터가 아니라 "User라는 자료형은 이런 모양"이라는 정의.
class User { 멤버변수: 이 객체가 가질 데이터 메서드: 이 객체가 할 수 있는 동작 }
2 $this — 자기 자신을 가리키는 변수
public function print_hello() { print $this->name; // ↑ ↑ // 현재 객체의 name 멤버변수 }
메서드 안에서 자기 자신의 멤버변수에 접근할 때는 항상 $this->를 쓴다. 그냥 $name으로 적으면 메서드의 지역변수로 인식된다.
3 -> PHP만의 멤버 접근 연산자
| 언어 | 객체 멤버 접근 |
|---|---|
| Java/C++/JS | obj.name |
| Python | obj.name |
| PHP | $obj->name |
반응형
4 함수형 vs 객체지향
PHP 초창기엔 함수만 쓰는 코드가 많았다. 자바 스프링이 인기를 얻으면서 PHP도 클래스를 본격적으로 도입. 지금은 둘이 공존 — 레거시 함수형 + 모던 객체지향.
5 클래스 선언만 한 상태
이 코드는 클래스 정의만 한 것. 실제로 사용하려면 객체로 만들어야 한다 (다음 글 user2.php 참고).
// 정의만 — 아직 동작 안 함 class User { ... } // 객체 생성 → 그제야 사용 $user = new User(); $user->print_hello();
핵심 한 줄 요약
class객체의 설계도 — 자료형 정의
멤버변수public $name 형태로 선언
메서드public function 이름() { ... }
public외부 접근 가능 (기본)
$this->자기 자신의 멤버 접근
-> 화살표PHP의 객체 멤버 접근 연산자
사용new로 객체 생성 후 메서드 호출
반응형
'php' 카테고리의 다른 글
| PHP class view — 객체 생성 후 메서드 호출 완전 정리 (0) | 2026.06.18 |
|---|---|
| PHP new — 클래스로부터 객체 생성 완전 정리 (0) | 2026.06.18 |
| PHP session — $_SESSION으로 방문 횟수 카운트 완전 정리 (0) | 2026.06.17 |
| PHP cookie — setcookie와 $_COOKIE로 방문 횟수 카운트 완전 정리 (1) | 2026.06.17 |
| PHP form4 + confirm + view — 세션으로 데이터 운반 완전 정리 (0) | 2026.06.17 |
왕진 블로그

댓글