본문 바로가기

비개발자의 개발 일지

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

시리즈 보기
php

PHP new — 클래스로부터 객체 생성 완전 정리

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

 

 

Web Development · PHP new

PHP new —
클래스로부터 객체(인스턴스) 만들기

$user = new User(); — 설계도 → 실체
시작 오늘 분석할 코드
<?php $user = new User(); class User{ public $name = '철수'; public function print_hello(){ print $this->name; print "님 안녕하세요!<BR>"; } } ?>

new User()가 핵심. 이 한 줄로 클래스 설계도에서 실제 객체가 만들어진다.

용어 용어 정리
new클래스로부터 객체 생성하는 키워드
객체클래스로 만들어진 실체
인스턴스"객체"의 또 다른 이름
$userUser 클래스의 한 인스턴스
호출 순서new 후 정의 순서 무관
vs classclass는 설계도, 객체는 그 결과물
여러 개같은 클래스로 여러 객체 가능
활용User($name=홍길동), User($name=김철수) 다른 객체

1 설계도 vs 실체
// 설계도 (한 번만 정의) class User { public $name = '철수'; ... } // 실체 (필요할 때마다 여러 개 생성) $u1 = new User(); // 객체 1 $u2 = new User(); // 객체 2 (별개의 인스턴스) $u3 = new User(); // 객체 3

같은 클래스로 만든 객체들은 같은 구조를 가지지만 서로 독립이다. 한 객체를 바꿔도 다른 객체엔 영향 없음.


2 객체 사용 — 메서드 호출
$user->print_hello(); // ↑ ↑ // 객체 메서드 이름 // 멤버변수 접근 $user->name; // "철수" $user->name = "홍길동"; // 변경 가능 (public이므로)

3 new가 일어나는 순간
$user = new User(); // 내부적으로 1) 메모리에 새 객체 공간 할당 2) 멤버변수 초기값 채움 ($name = '철수') 3) (있다면) __construct 메서드 자동 호출 4) 그 객체 참조를 $user에 대입

 

반응형

 

4 함수와 클래스 정의 순서

이 코드는 new User()class User { ... }보다 먼저 나온다. PHP는 같은 파일 안의 클래스 정의는 어디 있어도 인식하므로 정상 동작.


핵심 한 줄 요약

new클래스에서 객체를 찍어내는 키워드
$user = new User()User의 한 인스턴스 생성
설계도 vs 실체class 한 번 정의, 객체는 여러 개
사용$obj->멤버 / $obj->메서드()
독립성같은 클래스 객체끼리도 별개
__construct생성자 — new 시 자동 호출
정의 순서PHP는 new 다음에 class 와도 OK
반응형

댓글