본문 바로가기

비개발자의 개발 일지

현장 팀장에서 수출 ERP까지 — AI와 함께 시스템을 만든 기록

시리즈 보기
php

PHP class — 클래스와 멤버변수·메서드 선언 완전 정리

by 왕진 2026. 6. 17.
반응형

 

 

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로 객체 생성 후 메서드 호출
반응형

댓글