오랜만에 블로그 쓰네요. 자격증 시험도 있고 웹페이지 개발하느라 대부분 시간 보내다 보니 시간이 부족하네요.
진짜 개발하다가 모르는 거 있으면 정확히 알 때까지는 하는 성격인데 자료가 너무 어렵게 설명되어 있어서 애를 먹었네요.
아예 생 기초부터 설명한다는 느낌으로 가겠습니다.
기초
프로그램을 만드는 코딩을 한다는 것은 다른 사람들이 공통적으로 약속한 것들을 토대로 만드는 것을 의미한다.
그 약속에 대해 몇가지 적어보려고 한다.
함수(function)와 변수(value)
우선 코드를 한번이라도 짜본 경우라면 함수라는 것을 알것이다.
함수란 더하기와 같은 특정 작업을 할 수 있도록 하는 작은 블록이라 생각하면 편하다. 그리고 변수도 생각해야할 것이다. 왜냐하면 더하기를 하는데 맨날 1+1 을 할 수 없기에 값을 변화하면 결과도 바뀌어야하기 때문에
a + b 의 연산을 수행 할 때 a 와 b 를 변수 선언을 하여 연산자로서의 역할을 다하게 하는 것이다.
클래스(Class)
이제 조금 더 큰 틀인 클래스에 대해 배워볼 것이다.
Class란 '정의'라고 생각하면 편하다. 예시를 들자면 class란 교실이라는 의미가 아닌가? 교실이라는 것을 class(정의)한다고 하면 교실 안에 존재하거나 일어나는 것들을 포함하여 정의한다는 것을 의미한다. 교실안에는 신장과 무게가 다다른 학생들이 있을 것이고, 안에서는 칠판에 글을 쓰는 행위도 존재할 것이다. 여기서 신장과 무게가 다다른 학생들은 변수를 의미하고 칠판에 글을 쓰는 행위는 함수를 의미하는 것이다. 클래스라는 것은 이 모든 것을 교실이라는 정의 아래에 속하게 만드는 것이다.
객체(object)
이제 교실이라는 클래스를 정의했다고 하면 이 정의를 이용해야한다. 객체란 현실화라는 것을 의미한다. 교실에서의 일어날 수 있는 것들을 모두 정리하였고 이 정리된 것을 바탕으로 학창시절 나의 교실에 실제로 적용한다는 것을 말한다. 내가 신이 되어서 나의 학창시절 3학년 4반 안에 학생들의 키와 몸무게를 정하고 어떠한 행동을 할 것인지를 정한다고 생각하면 나는 3학년 4반이라는 구체적인 교실을 만들었다. 이 모든 행위를 객체라고 생각하면 된다.
인스턴스라는 개념이 있는데 인스턴스는 이러한 객체들이 나중에 호출이 되어 실행될 때 메모리에 올라가서 작동하기 때문에 메모리에 올라가는 순간을 인스턴스화 됐다고 한다.
모듈(module)
모듈은 학교라고 생각하면 편하다. 즉 클래스를 모아서 하나의 학교를 만든 것이다. 그 안에는 다양한 학생들의 각기 다른 행위를 할 수 있을 것이다. 즉 여러 함수(행동)과 학생(변수)를 교실을 모아 더 다양한 작업을 할 수 있도록 하는 것이다.
패키지(package), 컴포넌트(component)
이제 패키지는 학교라는 큰 모듈과 학원이라는 모듈을 합쳐서 더 큰 범위를 만든 것이라 보면된다. 컴포넌트라는 것은 패키지에서 조금 더 확장된 형태로 재사용이 가능하다. 즉 이러한 학교 학원이라는 요소를 다른 현 세계에서만 사용하는 것이 아닌 다른 이세계(?), 평행세계와 같은 곳에 사용할 수 있는 형태라고 생각하면 될거 같다.
'Web > Web 개발' 카테고리의 다른 글
[php] 언어 정리 (0) | 2022.04.19 |
---|---|
Hash 란? (0) | 2022.04.05 |
php 를 이용한 로그인 페이지 만들기 (0) | 2022.04.03 |
[web] mysql database 및 table 만들기 (0) | 2022.03.31 |
web 로그인 페이지 만들기 프로젝트 1 (0) | 2022.03.30 |