Top 41 자바 키워드 The 250 Detailed Answer

You are looking for information, articles, knowledge about the topic nail salons open on sunday near me 자바 키워드 on Google, you do not find the information you need! Here are the best content compiled and compiled by the Chewathai27.com/to team, along with other related topics such as: 자바 키워드 자바 키워드 정리


[자바 기초 25] static 키워드
[자바 기초 25] static 키워드


자바 키워드 – 제타위키

  • Article author: zetawiki.com
  • Reviews from users: 14104 ⭐ Ratings
  • Top rated: 3.3 ⭐
  • Lowest rated: 1 ⭐
  • Summary of article content: Articles about 자바 키워드 – 제타위키 Java keywords; 자바 키워드. 자바 예약어; const와 goto는 지원안함; 식별자로 사용불가. 클래스, 메소드, 변수 이름으로 사용할 수 없음 … …
  • Most searched keywords: Whether you are looking for 자바 키워드 – 제타위키 Java keywords; 자바 키워드. 자바 예약어; const와 goto는 지원안함; 식별자로 사용불가. 클래스, 메소드, 변수 이름으로 사용할 수 없음 …
  • Table of Contents:

목차

1 개요[ ]

2 키워드[ ]

3 상수 3[ ]

4 같이 보기[ ]

5 참고[ ]

자바 키워드 - 제타위키
자바 키워드 – 제타위키

Read More

JAVA 자바 키워드 및 식별자

  • Article author: cezacx2.tistory.com
  • Reviews from users: 17155 ⭐ Ratings
  • Top rated: 4.1 ⭐
  • Lowest rated: 1 ⭐
  • Summary of article content: Articles about JAVA 자바 키워드 및 식별자 키워드 란 특정 용도로 사용하기 위해서 자바 프로그램에서 미리 예약되어 있는 명령으로, 이미 선언된 명령, 즉 다른 변수나 클래스, 메소드명 등으로 … …
  • Most searched keywords: Whether you are looking for JAVA 자바 키워드 및 식별자 키워드 란 특정 용도로 사용하기 위해서 자바 프로그램에서 미리 예약되어 있는 명령으로, 이미 선언된 명령, 즉 다른 변수나 클래스, 메소드명 등으로 … 자바를 시작하기 전 키워드와 식별자를 이해하셔야 합니다. 프로그래밍의 기초를 조금만 알고 계시다면 쉽게 이해 되겠지만 처음 시작하시는 분들은 프로그램을 깔고, 여러 수십번 따라하기 전 까지는 이 내용을..구글,엑셀,워드,파워포인트,블로그,포스팅,티스토리,네트웍,네트워크,Network,리눅스,유닉스,윈도우,윈도우7,게임,비트코인,금연,담배,블로그마켓팅,블로그마케팅,블로그 마케팅,온라인 마케팅,마케팅,돈벌기,블로그 돈벌기,블로그 수익,광고 수익,비트코인 채굴,금연 성공,금연 성공기,온라인 게임,인터넷,서버,서버관리,네트웍 관리,블로그 팁,광고 팁,애드센스,Adsense,리얼클릭,리얼센스,카우리,구글 애드센스,재테크,부자되기,유머,개그,잼난글,웃긴글,스포츠,연예,카툰,만화,포토샵,adobe
  • Table of Contents:
JAVA 자바 키워드 및 식별자
JAVA 자바 키워드 및 식별자

Read More

JAVA 키워드: new

  • Article author: velog.io
  • Reviews from users: 3418 ⭐ Ratings
  • Top rated: 4.3 ⭐
  • Lowest rated: 1 ⭐
  • Summary of article content: Articles about JAVA 키워드: new new 키워드의 경우 자바 가상 머신(JVM)이 new 키워드를 보면, new 뒤에 있는 클래스이름을 보고, 해당하는 클래스를 메모리에 올립니다. …
  • Most searched keywords: Whether you are looking for JAVA 키워드: new new 키워드의 경우 자바 가상 머신(JVM)이 new 키워드를 보면, new 뒤에 있는 클래스이름을 보고, 해당하는 클래스를 메모리에 올립니다. 안녕하세요. 😊 오늘은 JAVA 키워드 중에 new에 대해 포스팅해보도록 하겠습니다.이전에 JAVA 기초 : Keywords 1편에서 static 키워드에 대해 다뤘던 것 기억나시나요? static 키워드는 변수 또는 함수의 자료형 앞에 기술해서 사용하며, 프로그램이
  • Table of Contents:

JAVA기초

new

static vs new 쉬운 설명 톨게이트 예시

static vs new 어려운 설명 객체와 메모리 할당

JAVA 키워드: new
JAVA 키워드: new

Read More

[Java] 자바 클래스 와 객체 및 키워드 :: 쏘니의 개발블로그

  • Article author: juntcom.tistory.com
  • Reviews from users: 31272 ⭐ Ratings
  • Top rated: 3.6 ⭐
  • Lowest rated: 1 ⭐
  • Summary of article content: Articles about [Java] 자바 클래스 와 객체 및 키워드 :: 쏘니의 개발블로그 [Java] 자바 클래스 와 객체 및 키워드. 곰돌이쿤 2021. 1. 17. 20:05. 클래스 정의하는 방법; 객체 만드는 방법 (new 키워드 이해하기); 메소드 정의하는 방법 … …
  • Most searched keywords: Whether you are looking for [Java] 자바 클래스 와 객체 및 키워드 :: 쏘니의 개발블로그 [Java] 자바 클래스 와 객체 및 키워드. 곰돌이쿤 2021. 1. 17. 20:05. 클래스 정의하는 방법; 객체 만드는 방법 (new 키워드 이해하기); 메소드 정의하는 방법 … 클래스 정의하는 방법 객체 만드는 방법 (new 키워드 이해하기) 메소드 정의하는 방법 생성자 정의하는 방법 this 키워드 이해하기 클래스란 클래스는 쉽게 설명하면 객체를 만들기 위한 틀 붕어빵은 하나의 객체..개발 블로그입니다. 차근차근 많은 내용 정리해보고 싶습니다.
  • Table of Contents:

클래스란

클래스 요소

클래스 정의

제어자 키워드

객체 생성

new 연산자

생성자 정의

this 키워드

super 키워드

TAG

관련글 관련글 더보기

인기포스트

티스토리툴바

[Java] 자바 클래스 와 객체 및 키워드 :: 쏘니의 개발블로그
[Java] 자바 클래스 와 객체 및 키워드 :: 쏘니의 개발블로그

Read More

[JAVA] 키워드, 식별자, 상수, 제어자

  • Article author: enderbridge.tistory.com
  • Reviews from users: 25520 ⭐ Ratings
  • Top rated: 3.8 ⭐
  • Lowest rated: 1 ⭐
  • Summary of article content: Articles about [JAVA] 키워드, 식별자, 상수, 제어자 [JAVA] 키워드, 식별자, 상수, 제어자. Skylee 2015. 4. 20. … 하지만 Class, NULL, True, System은 키워드가 아니다. … 자바 식별자 명명 규칙. …
  • Most searched keywords: Whether you are looking for [JAVA] 키워드, 식별자, 상수, 제어자 [JAVA] 키워드, 식별자, 상수, 제어자. Skylee 2015. 4. 20. … 하지만 Class, NULL, True, System은 키워드가 아니다. … 자바 식별자 명명 규칙. 1. 키워드 제어자 : static, final, void, for, while, try, import, if, this, interface, extends, 등등 접근제어자(public, protected, default, private) int, double, true, false, null, 등등 하지만 Clas..
  • Table of Contents:

‘LanguageJAVA’ Related Articles

공지사항

최근 포스트

태그

검색

전체 방문자

[JAVA] 키워드, 식별자, 상수, 제어자
[JAVA] 키워드, 식별자, 상수, 제어자

Read More

Peemang IT Blog

  • Article author: peemangit.tistory.com
  • Reviews from users: 25806 ⭐ Ratings
  • Top rated: 3.7 ⭐
  • Lowest rated: 1 ⭐
  • Summary of article content: Articles about Peemang IT Blog 보호되어 있는 글입니다. 비밀번호를 입력해주세요. 비밀번호 비밀번호 입력. 올바르지 않은 비밀번호입니다. 확인. …
  • Most searched keywords: Whether you are looking for Peemang IT Blog 보호되어 있는 글입니다. 비밀번호를 입력해주세요. 비밀번호 비밀번호 입력. 올바르지 않은 비밀번호입니다. 확인.
  • Table of Contents:

네비게이션

[JAVA]this 키워드 개념 및 구현

사이드바

검색

티스토리툴바

Peemang IT Blog
Peemang IT Blog

Read More

모던 자바스크립트 Deep Dive: 자바스크립트의 기본 개념과 동작 원리 – 이웅모 – Google Sách

  • Article author: books.google.com.vn
  • Reviews from users: 32747 ⭐ Ratings
  • Top rated: 4.3 ⭐
  • Lowest rated: 1 ⭐
  • Summary of article content: Articles about 모던 자바스크립트 Deep Dive: 자바스크립트의 기본 개념과 동작 원리 – 이웅모 – Google Sách Updating …
  • Most searched keywords: Whether you are looking for 모던 자바스크립트 Deep Dive: 자바스크립트의 기본 개념과 동작 원리 – 이웅모 – Google Sách Updating 269개의 그림과 원리를 파헤치는 설명으로 ‘자바스크립트의 기본 개념과 동작 원리’를 이해하자! 웹페이지의 단순한 보조 기능을 처리하기 위한 제한적인 용도로 태어난 자바스크립트는 과도하다고 느껴질 만큼 친절한 프로그래밍 언어입니다. 이러한 자바스크립트의 특징은 편리한 경우도 있지만 내부 동작을 이해하기 어렵게 만들기도 합니다. 하지만 자바스크립트는 더 이상 제한적인 용도의 프로그래밍 언어가 아닙니다. 오랜 변화를 거쳐 이제 자바스크립트는 프런트엔드와 백엔드 영역의 프로그래밍 언어로 사용할 수 있는 명실상부한 범용 애플리케이션 개발 언어로 성장했습니다. 따라서 자바스크립트를 학습하는 방식도 이에 걸맞게 변화해야 하며, 이 책은 자바스크립트의 기본 개념과 동작 원리를 깊이 있게 학습하고자 하는 독자를 위해 기획되었습니다. 《모던 자바스크립트 Deep Dive》에서는 자바스크립트를 둘러싼 기본 개념을 정확하고 구체적으로 설명하고, 자바스크립트 코드의 동작 원리를 집요하게 파헤칩니다. 따라서 여러분이 작성한 코드가 컴퓨터 내부에서 어떻게 동작할 것인지 예측하고, 명확히 설명할 수 있도록 돕습니다. 또한 최신 자바스크립트 명세를 반영해 안정적이고 효율적인 코드를 작성할 수 있는 기본기를 다지고, 실전에서 쓰이는 모던 자바스크립트 프레임워크나 도구를 완벽하게 이해하고 활용할 수 있게 도와줍니다.
  • Table of Contents:
모던 자바스크립트 Deep Dive: 자바스크립트의 기본 개념과 동작 원리 - 이웅모 - Google Sách
모던 자바스크립트 Deep Dive: 자바스크립트의 기본 개념과 동작 원리 – 이웅모 – Google Sách

Read More


See more articles in the same category here: Top 673 tips update new.

JAVA 자바 키워드 및 식별자

자바를 시작하기 전 키워드와 식별자를 이해하셔야 합니다.

프로그래밍의 기초를 조금만 알고 계시다면 쉽게 이해 되겠지만 처음 시작하시는 분들은 프로그램을 깔고, 여러 수십번 따라하기 전 까지는 이 내용을 충분히 이해할 수 없을 것입니다.

키워드

란 특정 용도로

사용하기 위해서 자바 프로그램에서

미리 예약되어 있는 명령으로, 이미

선언된

명령, 즉 다른 변수나 클래스, 메소드명 등으로 사용할 수 없는 제한된 단어라고 생각하시면 됩니다.

이 키워드는 알파벳 순으로 abstract 부터 while 까지 총 50개로 이루어져 있는데요, 아래 목록을 살펴보시기 바랍니다.

물론 바로 외울 필요는 없으니 이런것들이 있구나 생각하면 되겠으며, 앞으로 있을 여러 문법과 응용에서 자주 사용되어지는 것들을 연습하다 보면 자연스레 익숙해질 것입니다.

goto 와 const 키워드는 자바 프로그램에서 사용하면 안되는 키워드이며 사용해봤자 무의미한 키워드입니다.

C 개발자들이 자주 사용하던 키워드를 실수하지 않도록 자바에서 미리 정해두고 사용하지 못하게 만들어 둔 것입니다.

abstract

assert

boolean

break

byte

case

catch

char

class

(const)

continue

default

do

double

else

enum

extends

final

finally

float

for

it

(goto)

implements

import

instanceof

int

interface

long

native

new

package

private

protected

public

return

short

static

strictfp

super

switch

synchronized

this

throw

throws

transient

try

void

volatile

while

이 외에 상수 값을 표현하는 단어가 3개 있는데요, 엑셀에서 돌려주는 값과 유사한 것을 확인할 수 있겠습니다.

true

false

null

식별자 는 클래스, 메소드, 변수, 배열, 문자열 등을 구분하기 위해 개발자가 임의로 정의하여 사용할 수 있는 이름을 말하며, 몇가지 제약이 있는데 아래를 참고하시기 바랍니다.

.

하나 이상의 글자로 이루어져야 한다.

첫번째 글자는 문자이거나 ‘$’, ‘_’ 이어야 하며, 두번째 이후의 글자는 숫자, 문자, ‘$’, ‘_’ 이어야 한다.

‘$’, ‘_’ 이외의 특수문자는 사용할 수 없지만, 유니코드 문자로 선언할 수 있다.

길이의 제한은 없으며, 키워드는 식별자로 사용할 수 없다.

공백은 사용할 수 없으며, 대소문자를 구별하여 사용한다.

상수 값을 표현하는 단어 true, false, null은 식별자로 사용할 수 없다.

자바 프로그래밍에 있어 우선 키워드와 식별자에 대해 알아봤는데요, 위에서 말씀드렸다시피 바로 외우실 필요는 없으며 앞으로 연습하는 가운데 자연스레 몸소 습득하게 될 것입니다.

자, 이제 자바 프로그래밍을 위한 준비를 모두 마쳤으니 다음 포스팅부터는 기초 문법을 통하여 기본적인 것부터 제작/테스트해 보도록 하겠습니다.

—–

방문 감사합니다 (__)

JAVA 키워드: new

안녕하세요. 😊 오늘은 JAVA 키워드 중에 new에 대해 포스팅해보도록 하겠습니다.

들어가기 앞서서..

이전에 JAVA 기초 : Keywords 1편에서 static 키워드에 대해 다뤘던 것 기억나시나요?

static 키워드는 변수 또는 함수의 자료형 앞에 기술해서 사용하며, 프로그램이 시작할 때 생성되고, 프로그램이 시작할 때, static 키워드가 붙어있는 자원을 자바 가상머신이 해당 자원을 메모리에 올려줍니다.

예시로, 다음과 같은 코드가 있을 때,

package a.b.c.ch1; public class Example{ static int i; public static void main(String args[]){ System.out.println(“int i >>>”+i); } }

실행하면 int의 디폴트 값인 0이 정상적으로 출력됩니다.

그런데, 만약 static int i를 int i로만 선언해주면 어떻게 될까요?

Example.java:6: error: non-static variable i cannot be referenced from a static context System.out.println(“int i >>>”+i); ^ 1 error

자바 컴파일 과정에서 다음과 같은 에러가 나는 것을 확인 할 수 있습니다.

이럴 경우, new라는 키워드를 사용하여 다음과 같이 코드를 작성하면,

package a.b.c.ch1; public class Example{ int i; public static void main(String args[]){ Example rv=new Example(); System.out.println(“int i >>>”+rv.i); } }

int의 디폴트값인 0이 정상적으로 출력이 됩니다.

왜 new라는 키워드를 사용하면 static을 사용하지 않고도 출력이 가능해지는 걸까요?

new

자바에서 자바 프로그램을 메모리에 올리는 여러 방법이 있지만,

이전에 포스팅 했던, static 키워드가 있고, 오늘 포스팅할 new 키워드가 있습니다.

new 키워드

new 키워드의 경우 자바 가상 머신(JVM)이 new 키워드를 보면, new 뒤에 있는 클래스이름을 보고, 해당하는 클래스를 메모리에 올립니다.

이전 코드를 살펴보면

Example rv=new Example();

이 부분이 new 키워드를 사용하여 Example이라는 클래스를 메모리에 올린 겁니다.

new 키워드 사용방법

new키워드의 사용방법은 다음과 같습니다.

1. 클래스 이름을 선언한다.

2. 참조 변수를 선언한다.

3. = 대입 연산자를 선언한다.

4. new 키워드를 선언한다.

5. 생성자를 선언한다. (클래스 이름에 () 소괄호를 붙여서만든다.

클래스이름 변수(참조변수, reference variable) = new 클래스이름();

static vs new 쉬운 설명 : 톨게이트 예시

static 명령어를 사용하면, 클래스 내 함수에서 쉽게 출력이 가능한데,

new 명령어를 사용하면,

클래스이름 참조변수 = new 클래스이름(); System.out.println(참조변수.출력하고자하는변수);

이런 식으로 복잡하게 출력을 해야 합니다.

이를 제 개인적인 생각으로 쉽게 풀어서 톨게이트 사례로 설명하면 다음과 같습니다.

톨게이트 예시

예시로, 서울에서 운전을 해서 급하게 부산을 가야할 일이 생겼다고 합시다.

부산을 가기위해 경부고속도로를 타고 가려는데, 고속도로에 들어가려면 톨게이트를 통과해야만 고속도로를 이용할 수 있습니다.

이 때, 하필 톨게이트 직원들이 전부 파업해서 하이패스로만 고속도로에 들어갈 수 있다고 가정하면, static은 이 때, 내 차에 있는 하이패스 리더기라고 볼 수 있습니다.

자바가상머신에 컴파일을 할 때, static이 있으면, 고속도로를 바로 이용할 수 있는 것입니다.

그런데 만약 하이패스 리더기가 차에 없다면??

경부고속도로를 이용해서 부산에 가려고 하는데, 하필 이 때, 하이패스 리더기 수리를 맡겨서

없다면 어떻게 해야 할까요?

고속도로를 이용하지 못하기 때문에, 국도를 이용해 부산에 가야 할 것입니다.

여기서 포인트는,

첫 번째로 고속도로와 국도는 다르다는 것입니다.

두 번째로 고속도로로 가던 국도로 가던 결국 부산에 갈 수 있다는 것입니다.

static new 고속도로 국도

static vs new 어려운 설명 : 객체와 메모리 할당

앞의 톨게이트 예시가 이해가 되었다면, 본격적으로 static과 new에 대해서 설명해보도록 하겠습니다. 😊

객체

먼저, static과 new에 대해 이해하려면 객체를 알아야 합니다.

객체란 소프트웨어 공학 용어로, ‘의사나 행위가 미치는 대상’이며 유무형의 사물을 의미합니다.

객체를 코드로 구현한 것이 클래스입니다.

예를 들어 나라는 사람이 있다고 하면,

나 : 🤵 운동하는 나: ⛹️ 서 있는 나: 🧍 저글링 하는 나: 🤹

나라는 인물은 한 명이지만, 어떤 것을 하느냐에 따라 또 다른 나라는 존재가 있습니다.

여기서, 운동하는 나, 서 있는 나, 저글링 하는 나 모두 객체에 해당합니다.

클래스이름 참조변수 = new 클래스이름(); System.out.println(참조변수.출력하고자하는변수);

위의 코드에서 new 클래스이름(); 은 new라는 키워드를 통해 새로운 객체를 생성해주라는 의미입니다.

이 때, 좌항에 있는 참조변수는 메모리에 생성된 인스턴스를 가리키는 변수를 의미합니다.

해당 코드를 수행하고나서

System.out.print(참조변수);

코드를 실행하게 되면 클래스이름@ ~ 이런식으로 출력되는데,

~ 이 부분이 참조 변수의 주소값(참조값)을 의미합니다.

클래스와 객체 관련 용어 정리

용어가 어려우신 분들을 위해 용어와 설명을 정리하면 다음과 같습니다.

용어 설명 객체 객체 지향 프로그램의 대상, 생성된 인스턴스 클래스 객체를 프로그래밍하기 위해 코드로 만든 상태 인스턴스 클래스가 메모리에 생성된 상태 멤버 변수 클래스의 속성, 특성 메서드 멤버 변수를 이용하여 클래스의 기능을 구현 참조 변수 메모리에 생성된 인스턴스를 가리키는 변수 참조 값 생성된 인스턴스의 메모리 주소 값

메모리의 구조

TCP SCHOOL.com 의 메모리의 구조 포스팅 자료를 인용하면,

프로그램이 실행되기 위해서는 프로그램이 메모리에 로드 되어야 하며, 프로그램에서 사용되는 변수들을 저장할 메모리가 필요합니다.

함수를 호출하면 그 함수만을 위한 메모리 공간이 할당되는데, 이 메모리 공간을 스택(stack)이라고 부릅니다.

함수 내부에서만 사용하는 변수를 지역 변수라고 하며, 스택 메모리에 생성됩니다.

new 클래스이름()을 선언하면, 객체가 생성되는데, 해당 객체에서 멤버 변수를 출력하려면, 이 변수를 저장할 공간이 있어야 합니다. 이 때 사용하는 메모리가 힙 메모리입니다.

코드를 통해 메모리 공간 살펴보기

package a.b.c.ch1; public class Exam_ClassTest { // 멤버 변수 int iVal; // 스태틱 변수, 클래스 변수 static int iValStatic; public static void main(String args[]) { System.out.println(“main() 함수는 콘솔어플리케이션 시작점이다.”); System.out.println(“함수 블럭안에서는 인터프리트 방식으로 수행된다.”); // 함수 블럭 내부에서 선언한 지역 변수 int i = 10; System.out.println(“i >>> : ” + i); // static 변수 호출하기 System.out.println(“iValStatic >>> : ” + iValStatic); // static 키워드가 붙지 않은 iVal 멤버 변수 사용법 // iVal 멤버변수를 메모리에 올려야 한다. Exam_ClassTest ec = new Exam_ClassTest(); System.out.println(“Exam_ClassTest 사용자정의 클래스의 변수(참조변수) ec >>> :

” + ec); System.out.println(“ec.iVal >>> : ” + ec.iVal); Exam_ClassTest ec_1 = new Exam_ClassTest(); System.out.println(“Exam_ClassTest 사용자정의 클래스의 변수(참조변수) ec_1 >>> :

” + ec_1); System.out.println(“ec_1.iVal >>> : ” + ec_1.iVal); System.out.println( “스태틱변수는 참조변수로 참조해서 사용하면 안 된다.

” + “ec_1.iValStatic >>> : ” + ec_1.iValStatic); } }

가령, 위의 코드를 실행한다면,

메모리에 사진과 같이 저장됩니다.

이 때, Exam_ClassTest()를 생성자라고 하는데, 이 생성자가 해당 클래스 내부에 선언한 멤버변수를 디폴트 값으로 초기화 합니다.

생성자가 메모리에 올라가면(인스턴스 되면) 해당 클래스에 있는 멤버변수를 디폴트 값으로 초기화 한다.

저번 시간에 함수와 변수 포스팅을 할 때, 변수의 경우 변수의 유효범위를 인지하는 게 중요하다고 한 이유가 바로 이런 메모리 구조 때문이였습니다.

만약, 위의 코드에서 main함수 아래에, iVal을 출력시키면 출력이 되지 않습니다.

main 함수 안.. System.out.println(“iValStatic >>> : ” + iValStatic);

error: non-static variable iVal cannot be referenced from a static context

이유는, iVal은 클래스 변수(스태틱 변수)가 아니라 멤버 변수이기 때문입니다. 이럴 경우, 출력하려면 객체를 만들어 준 뒤, 생성한 객체에서 참조변수이름.출력할값을 출력해야 합니다.

또한, 함수(메서드) 내에서 변수를 선언한 뒤, 함수(메서드) 밖에서 실행하게 될 경우,

함수 내에서 선언한 변수는 지역 변수이기 때문에, 출력이 되지 않습니다.

메모리 구조를 통해 이를 설명하면, 지역 변수는 스택 메모리에서 생성됩니다. 함수가 할 일을 다 하고 결과 값을 반환하게 되면, 함수(메서드)에 할당했던 메모리 공간(스택 메모리)을 해제하기 때문에, 지역 변수는 함수 블록 밖에서 출력할 수 없습니다.

함수의 경우도 return의 유무와 public의 유무, static의 유무가 중요합니다.

함수 앞에 static이 있고, return 값이 없는 경우라면, 클래스이름.함수이름(); 으로 출력이 되나, static은 있는데, return 값이 있는 경우라면, 변수타입 새로운변수=클래스이름.함수이름();으로 새로운변수를 지정해준뒤, 출력해야 합니다. 함수 앞에 static, return이 없는 경우라면, new 키워드를 통해 객체를 생성해준 뒤, 참조변수이름.함수이름();로 출력시키면 되나, static은 없는데, return이 있는 경우라면, new 키워드를 통해 객체를 생성해준 뒤, 변수타입 새로운변수=참조변수이름.함수이름();로 새로운 변수를 지정해준 뒤, 출력해야 합니다. 마지막으로, System.out.println()으로 출력할 때도, 리턴이 없는 경우, println()에서 소괄호 안에 입력하면 출력이 되지 않습니다. 반면, 리턴이 있는 경우에는, 변수타입 새로운변수=클래스이름.함수이름(); 혹은 변수타입 새로운변수=참조변수이름.함수이름(); 으로 새로운 변수를 지정해주고, println()에서 소괄호 안에 새로운 변수를 입력하면 출력이 가능합니다.

참고하기 좋은 코드

package a.b.c.ch1; public class ClassTest_practice_3{ //멤버 변수 // 상수 public static final int ID_NUM=1; // 스태틱 변수, 클래스 변수 static int id_val=11; // public이라는 외부에서 사용할 수 있는 // 접근제한자 키워드가 없다. // 전역 변수 public int iVal_G; // static이라는 메모리에 할당하는 수정자 키워드가 빠져있다. // 멤버 변수 int iVal; // public이라는 접근제한자 키워드도 없고, // static이라는 수정자 키워드 없다. //사용자 정의 함수 public void aMethod(){ System.out.println(“aMethod() 등장 두둥”); } // end of aMethod method // return이 없다. 따라서, 리턴형 키워드인 void를 사용했다. // static이라는 수정자 키워드가 없다. public static void aaMethod(){ System.out.println(“aaMethod() 등장 두둥”); } // end of aaMethod method // return이 없다. 따라서, 리턴형 키워드인 void를 사용했다. public int bMethod(){ System.out.println(“bMethod() 돌아가는 중~”); return 1+1; } // end of bMethod method // return이 있다. // 유의해야 할 점은 bMethod 앞에 있는 int와 // return으로 출력되는 1+1의 데이터 타입이 // 모두 int로 동일해야 한다. // static이라는 수정자 키워드가 없다. public static int bbMethod(){ System.out.println(“bbMethod() 돌아가는 중~”); return 10+10; } // end of bbMethod method // return이 있다. // bbMethod앞에 int와 return으로 출력되는 10+10의 // 데이터 타입이 모두 int로 동일해야 한다. // main 함수 등장 public static void main(String args[]){ // static이 있는 친구들 // 멤버변수 중에 상수 불러오기 (static 있음) System.out.println(“ClassTest_practice_3.ID_NUM >>> “+ClassTest_practice_3.ID_NUM+”

“); // 스태틱 변수 불러오기 System.out.println(“ClassTest_practice_3.id_val >>> “+ClassTest_practice_3.id_val+”

“); // aaMethod 불러오기(return이 없어서 println안에 가져다 못 씀) System.out.println(“ClassTest_practice_3.aaMethod는 리턴이 없어서 println에 가져다 못 씀. 불러오기

“); ClassTest_practice_3.aaMethod(); // bbMethod 불러오기 int x=ClassTest_practice_3.bbMethod(); System.out.println(“ClassTest_practice_3.bbMethod >>> “+x+”

“); // static이 없는 친구들을 위해 객체 생성해주기 (인스턴스 생성) ClassTest_practice_3 ec=new ClassTest_practice_3(); System.out.println(“ClassTest_practice_3 ec 주소 >>> “+ec+”

“); // 전역 변수 불러오기 (static 없음) System.out.println(“ClassTest_practice_3 ec.iVal_G >>> “+ec.iVal_G+”

“); // 멤버 변수 불러오기 (static 없음) System.out.println(“ClassTest_practice_3 ec.iVal >>> “+ec.iVal+”

“); // aMethod 불러오기 (static 없음, return도 없음) System.out.println(“ClassTest_practice_3 ec.aMethod는 리턴이 없어서 println에 가져다 못 씀. 불러오기

“); ec.aMethod(); // bMethod 불러오기 (static 없음, 근데 return은 있음) int y=ec.bMethod(); // bMethod 리턴값이 int형이므로 동일하게 x도 int라는 데이터를 담는 변수라는 상자에 할당하여 준다. System.out.println(“ClassTest_practice_3 ec.bMethod는 리턴이 없어서 println에 가져다 못 씀. 불러오기

“); System.out.println(“ClassTest_practice_3 ec.bMethod >>> “+y+”

“); } // end of main method } // end of ClassTest_practice_3 class

마치며..

이번 포스팅에서 static이라는 수정자 키워드의 유무에 따라 메모리에 할당하는 방법에도 차이가 있는 것을 살펴봤고, new라는 키워드를 통해 객체를 생성하여 출력하는 방법도 알아보았습니다. JAVA의 API를 자세히 살펴보면, java.lang.클래스이름에 대한 세부적인 설명에서 static이라는 수정자가 있는 경우도 있고, 없는 경우도 있습니다. static 수정자의 유무에 따라서 메모리에 할당할 때, 적절히 대응하여 잘 사용해야 컴파일을 할 때 오류가 없을 것입니다. 이번 포스팅은 여기서 마치도록 하겠습니다. 😊

[Java] 자바 클래스 와 객체 및 키워드

클래스 정의하는 방법

객체 만드는 방법 (new 키워드 이해하기)

메소드 정의하는 방법

생성자 정의하는 방법

this 키워드 이해하기

클래스란

클래스는 쉽게 설명하면 객체를 만들기 위한 틀

붕어빵은 하나의 객체로 이를 만들기 위한 붕어빵틀은 하나의 클래스로 설명할 수 있다.

이런 클래스는 class라는 키워드로 정의되며 각각 변수(속성)와 메서드(행위)를 가지게 된다.

클래스 요소

필드(field) – 필드는 해당 클래스 객체의 상태 속성을 나타내며, 멤버 변수라고도 불린다. 여기서 초기화하는 것을 필드 초기화 또는 명시적 초기화라고 한다. 인스턴스 변수 – 이름에서 알 수 있듯이 인스턴스가 갖는 변수이다. 그렇기에 인스턴스를 생성할 때 만들어진다. 서로 독립적인 값을 갖으므로 heap 영역에 할당되고 gc에 의해 관리된다. 클래스 변수 – 정적을 의미하는 static키워드가 인스턴스 변수 앞에 붙으면 클래스 변수이다. 해당 클래스에서 파생된 모든 인스턴스는 이 변수를 공유한다. 그렇기 때문에 heap 영역이 아닌 static 영역에 할당되고 gc의 관리를 받지 않는다. 또한 public 키워드까지 앞에 붙이면 전역 변수라 볼 수 있다.

메서드(method) – 메서드는 해당 객체의 행동을 나타내며, 보통 필드의 값을 조정하는데 쓰인다. 인스턴스 메서드 – 인스턴스 변수와 연관된 작업을 하는 메서드이다. 인스턴스를 통해 호출할 수 있으므로 반드시 먼저 인스턴스를 생성해야 한다. 클래스 메서드 – 정적 메서드라고도 한다. 일반적으로 인스턴스와 관계없는 메서드를 클래스 메서드로 정의한다.

생성자(constructor) – 생성자는 객체가 생성된 직후에 클래스의 객체를 초기화하는 데 사용되는 코드 블록이다. 메서드와 달리 리턴 타입이 없으며, 클래스엔 최소 한 개 이상의 생성자가 존재한다.

– 생성자는 객체가 생성된 직후에 클래스의 객체를 초기화하는 데 사용되는 코드 블록이다. 메서드와 달리 리턴 타입이 없으며, 클래스엔 최소 한 개 이상의 생성자가 존재한다. 초기화 블록(initializer) – 초기화 블록 내에서는 조건문, 반복문 등을 사용해 명시적 초기화에선 불가능한 초기화를 수행할 수 있다. 클래스 초기화 블록 – 클래스 변수 초기화에 쓰인다. 인스턴스 초기화 블록 – 인스턴스 변수 초기화에 쓰인다. 클래스 변수 초기화: 기본값 → 명시적 초기화 → 클래스 초기화 블록

인스턴스 변수 초기화: 기본값 → 명시적 초기화 → 인스턴스 초기화 블록 → 생성자

클래스 정의

class Class { // 클래스 String constructor; String instanceVar; // 인스턴스 변수 static String classVar; // 클래스 변수 static { // 클래스 초기화 블록 classVar = “Class Variable”; } { // 인스턴스 초기화 블록 instanceVar = “Instance Variable”; } Class() { // 생성자 constructor = “Constructor”; } void instanceMethod() { // 인스턴스 메서드 System.out.println(instanceVar); } static void classMethod() { // 클래스 메서드 System.out.println(classVar); } }

제어자 키워드

접근 제어자 – public, protected, default, private

그 외 – static, final, abstract, transient, synchronized, volatile etc.

접근 제어자 – 접근 제어자는 해당 클래스 또는 멤버를 정해진 범위에서만 접근할 수 있도록 통제하는 역할을 한다. 클래스는 public과 default밖에 쓸 수 없다. 범위는 다음과 같다. 참고로 default는 아무것도 덧붙이지 않았을 때를 의미한다.

static – 변수, 메서드는 객체가 아닌 클래스에 속한다.

– 변수, 메서드는 객체가 아닌 클래스에 속한다. final 클래스 앞에 붙으면 해당 클래스는 상속될 수 없다. 변수 또는 메서드 앞에 붙으면 수정되거나 오버라이딩 될 수 없다.

abstract 클래스 앞에 붙으면 추상 클래스가 되어 객체 생성이 불가하고, 접근을 위해선 상속받아야 한다. 변수 앞에 지정할 수 없다. 메서드 앞에 붙는 경우는 오직 추상 클래스 내에서의 메서드밖에 없으며 해당 메서드는 선언부만 존재하고 구현부는 상속한 클래스 내 메서드에 의해 구현되어야 한다. 상속과 관련된 내용은 6주차에 다룰 예정이다.

transient – 변수 또는 메서드가 포함된 객체를 직렬화할 때 해당 내용은 무시된다.

– 변수 또는 메서드가 포함된 객체를 직렬화할 때 해당 내용은 무시된다. synchronized – 메서드는 한 번에 하나의 쓰레드에 의해서만 접근 가능하다.

– 메서드는 한 번에 하나의 쓰레드에 의해서만 접근 가능하다. volatile – 해당 변수의 조작에 CPU 캐시가 쓰이지 않고 항상 메인 메모리로부터 읽힌다.

객체 생성

public class Person { private int age = 10; private String name = “jun”; Person() {} // 기본 생성자 Person(int age, String name) { setAge(age); setName(name); } public int getAge() { return age; } public String getName() { return name; } public void setAge(int age) { this.age = age; } public void setName(String name) { this.name = name; } }

public static void main(String[] args) { Person p1 = new Person(); Person p2 = new Person(15, “min”); }

new 연산자

new연산자는 클래스 타입의 인스턴스를 생성해주는 역할을 하는 연산자로 메모리(Heap 영역)에 공간을 할당받고 그 공간의 참조값을 객체에게 반환해주는 역할을 한다.

new 키워드는 새 객체에 메모리를 할당하고 해당 메모리에 대한 참조값을 반환하여 클래스를 인스턴스화한다.

일반적으로 객체가 메모리에 할당되면 인스턴스라 부른다

생성자 정의

Person() {} // 기본 생성자 Person(int age, String name) { setAge(age); setName(name); }

생성자를 명시하지 않으면 컴파일러가 자동으로 기본 생성자를 생성한다.

하지만 기본 생성자가 아닌 다른 형태의 생성자만 생성했다면 기본 생성자는 생성되지 않는다.

this 키워드

public void setAge(int age) { this.age = age; } public void setName(String name) { this.name = name; }

this키워드는 인스턴스 자신을 가르킨다. 위 코드에서 this를 사용함으로써 지역변수 age, name와 구분할 수 있다. 당연한 말이지만 클래스 (static)메서드에서는 this를 쓸 수 없다. 왜냐하면 인스턴스가 생성되지 않았을 수도 있기 때문이다.

this()는 해당 클래스 생성자를 호출할 수 있다. 그렇기 때문에 생성자를 재사용하는 데 쓰인다. (생성자 체이닝)

public class Person { int age; String name; int height; Person(int age, String name) { this.age = age; this.name = name; } Person(int age, String name, int height) { this.age = age; this.name = name; this.height = height; } }

super 키워드

super의 경우 this와는 다르게 자식클래스가 부모클래스로부터 상속받은 멤버로를 사용하고자 할때 사용된다.

class Parent{ int a = 10; } class Child extends Parent{ int a = 20; void childMethod(){ System.out.println(a); //20 System.out.println(this.a); //20 System.out.println(super.a); //10 } }

super 키워드와 this 키워드의 기능이 비슷하 듯이 this()와 super() 키워드 역시도 기능이 비슷하다. super() 키워드는 this()와 마찬가지로 생성자를 호출하는 함수로, 자기자신이 아닌 부모클래스의 생성자를 호출한다.

반응형

So you have finished reading the 자바 키워드 topic article, if you find this article useful, please share it. Thank you very much. See more: 자바 키워드 정리

Leave a Comment