본문 바로가기
우당탕탕 개발생활/_Java

[JAVA 기초] 클래스 구성, 멤버 필드, 멤버 메서드, 멤버 변수, 메인메서드, 명령행 매개변수 알아보기

by J-2n 2020. 7. 4.

안녕하세요

 

오늘 진행할 포스팅은 클래스의 전체적인 구성을 알아보고

멤버필드, 멤버메서드, 멤버변수, 메인메서드 그리고 명령행 매개변수에 대해 알아보겠습니다.

또 그밖에 static의 의미도 같이 보겠습니다.

여기서 명령행 매개변수방법은 제가 처음에 많이 헷갈렸던 것인데요

밑에서 자세히 알아보겠습니다.


 


 

  • 클래스란 (class)

: 유사한 특징을 가진 객체들의 속성을 묶어 놓은 집합체 입니다.

 

클래스(class) 구성

: 클래스 헤더, 변수와 상수로 이루어진 멤버 필드, 멤버 메서드로 이루어져 있다.

 

클래스(class) 헤더

: 클래스를 선언하는 부분을 의미 한다.


  - 클래스 선언

[접근제한자] [클래스종류] class [클래스명] {}


  - 접근 제한자

    보통 public과 private가 많이 쓰인다.


  - 클래스 종류

   ‘최종(final)클래스’ 또는 ‘추상(abstract)클래스’와 같은 클래스 종류를 의미하며 현재 클래스가 어떤 클래스인지를 알리는 수식어의 일종이다. 이부분이 생략되면 일반 클래스라고 생각하면 된다.


  - 클래스명

    저번 포스팅의 클래스명 규칙을 참조한다.

2020/07/01 - [Java 생활/_기초] - 자바(java)의 특징, 식별자, 클래스 알아보기

 

 


 

  • 멤버 필드

: 변수와 상수를 의미한다. 객체가 만들어질 때 그 객체의 특징적인 속성을 담아 두는 것이다. 필드의 형태가 static이냐, instance냐에 딸라 필드의 개념이 달라진다. (저장기능, 지속성)

 


 

  • 멤버 메서드

: 특정한 일을 수행하는 행위이다. 멤버필드들의 값을 가지고 작업을 수행할 수도 있으며 메서드도 static 메서드(클래스 메서드)와 instance 메서드라는 두가지 종류가 있다. static 메서드는 메서드를 가지는 객체를 생성하지 않아도 사용 가능하다. instance 메서드는 객체를 생성해야만 사용 가능하다. (처리기능, 순간적)

 


 

  • 멤버 변수

: 객체가 생성될 때 객체의 특징과 속성을 저장하는 곳이다. 멤버변수에는 instance 변수와 static 변수(클래스변수)의 형태가 있다. 

 

instance 변수

객체가 생성될 때 객체들마다 따로 생성되어 고유의 값을 받은 다음 각 객체 속성으로 자리 잡는 변수이다.


 

static 변수(클래스 변수)

객체가 생성될 때 단 하나만 생성되며 모든 객체들이 공유하는 개념의 변수이다.


 


 

  • 메인 메서드란

: 자바 프로그램의 시작 지점은 main() 메서드이다. 반드시 main() 메서드를 구현한 public class가 하나는 꼭 있어야 한다.

 

메인 메서드 선언 규칙

 


 

  • 명령행 매개변수

: main 메서드의 파라미터는 String 배열을 받고 있다. 이 배열은 콘솔 명령행을 통해 프로그램이 시작 될 때 추가적으로 넘겨받는 값들을 저장하는 배열이다. (시작과 동시에 값을 넘겨주어야 하는 경우에 사용한다.)

 

cmd(콘솔) 명령행 값 넘겨주는 방법

값을 출력하도록 쿼리 작성 후 java파일을 컴파일 과정을 실행합니다.

콘솔 컴파일은 이전 게시글 참조.

2020/06/30 - [Java 생활/_기초] - 콘솔창으로 자바(java) 컴파일 방법 알아보기

자바 프로그램을 실행할 때 넘겨줄 인자가 있는 경우 스페이스바(공백) 단위로 값을 넘겨줄 수 있다.

하나의 인자로 넘겨주고 싶은 경우에는 ""로 묶어 준다.

(아무런 값을 넘겨주지 않았다면 결과도 출력 되지 않는다.)

 


 

  • static이란

: 프로그래밍 용어로 정적의, 고정의 뜻이다. (정적 함수임을 의미한다.) static으로 함수 또는 클래스를 선언했을 경우 해당 객체는 자바가 컴파일 되는 순간 정의가 되어 메모리에 올라가게 된다. static이 정의 된 후 static이 아닌 객체가 정의 된다. 

static 객체에서 static이 아닌 객체를 호출하는것은 불가능 하다.(static이 먼저 정의 되기 때문에 아직 정의되지 않은 객체를 호출할 수 없기 때문이다.)

 

 


자바 프로그래밍을 현업으로 하면서 항상 용어는 헷갈리는데요ㅠㅠ

기초는 이렇게 기록해두어도 다시 열어보게되는 것 같습니다.

저는 처음에 명령행 매개변수를 배우면서도 무슨 역할을 하는지 몰랐지만

이 포스팅을 보시는 분들은 잘 알아가셨으면 좋겠습니다.

 

감사합니다