Java 프로그래밍 04 : 생성자와 소멸자 그리고 this 키워드
·
프로그래밍 언어/자바(Java)
저번 포스트에서는 자바의 특성인 객체 지향 프로그래밍에 대해서 다뤘다. 이번 포스트에서는 객체가 생성될 때 실행되는 생성자, 객체가 삭제될 때 실행되는 소멸자, 객체 자신을 가리키는 키워드인 this를 알아보자.  디폴트 생성자객체가 생성될 때 가장 먼저 호출되는 생성자. 개발자가 명시하지 않아도 컴파일 시점에 자동 생성된다.    사용자 정의 생성자디폴트 생성자 외에 특정 목적에 의해서 개발자가 만든 생성자로, 매개변수에 차이가 있다.    1. 객체 선언 : 객체를 만들 준비만 한 상태 (메모리에 공간 할당 X). 아직 obj는 null이다.2. 생성 : new 키워드로 메모리에 ObjClass 객체를 생성. 이제 obj가 실제 객체를 가리킨다.3. 초기화 : 객체가 생성될 때, 객체 속성(num, ..
Java 프로그래밍 03 : 객체 지향 프로그래밍이란?
·
프로그래밍 언어/자바(Java)
이번 포스트에서는 자바의 특성 중 하나인 객체 지향 프로그래밍에 대해서 다뤄보려고 한다. 나는 자바라는 언어를 18년도에 대학교 수업에서 처음 접했는데, 당시에는 객체와 클래스를 막연하게만 이해했던 것 같다. 그래서 이것이 프로그래밍을 할 때 왜 중요한지, 실제로 어떤 의미를 갖는지를 알지 못해 그해 기말 프로젝트에서 엄청 고생을 했던 기억이 있다. * 2:2 체스 게임을 구현해야 했는데, 폰, 비숍, 룩, 퀸, 킹 등의 객체 클래스를 생성해서 사용했어야 했다. 그러나 어떻게 클래스를 나누어야 하는지, 클래스에 어떤 속성이 들어가야 하는지 등을 전혀 이해하지 못했다. 머리로 외운 것과 실제 써보는 건 천지 차이더라. (사실 내 머리로는 1:1 체스 게임도 헷갈렸는데 2:2 체스 게임 룰도 조금 헷갈리긴 ..
Java 프로그래밍 02 : 프로그램의 실행 구조
·
프로그래밍 언어/자바(Java)
이번 포스트에서는 Java 프로그램의 실행 구조에 대해 다뤄볼 예정이다. Java는 C와 C++과 마찬가지로 컴파일러를 사용하여 소스 코드(고급 언어)를 저급 언어(기계어)로 바꿔주는 과정을 거친다. (참고로 Python, JavaScript는 컴파일러가 아닌 인터프리터를 사용한다.) 컴파일러 vs 인터프리터 컴파일러인터프리터번역 방식한 번에 전체 번역한 줄씩 번역실행 속도빠름 (기계어로 변환된 상태)느림 (실행할 때마다 번역)오류 발견컴파일 시 오류 발견실행 중 오류 발견코드 변경 시다시 컴파일해야 실행 가능즉시 실행 가능언어C, C++, Java(바이트코드)Python, JavaScript   그런데, 자바에서 사용하는 컴파일러는 JVM이 있어 C 계열과는 동작 과정이 조금 다르다.    Java 컴..