티스토리 뷰

Class 생성


객체지향 언어인 Java에서 가장 중요한 것은 역시 Class라고 말할 수 있다. 클래스 생성 방법은 다음과 같다.


1
2
3
public class Daerong {
 
}
cs


public은 접근지정자(access modifier)로 멤버들에게 접근 제한을 걸 수 있어 접근 제한자라는 이름으로도 불립니다. 접근 제어자는 객체지향 프로그래밍의 특징인 정보은닉(Data hiding)을 위한 키워드입니다. 

- 상수를 제외한 필드는 감추는 것이 좋습니다.

- 접근 제한자를 두 개 이상 같이 사용할 수 없습니다.


아래는 접근 지정자의 종류와 설명입니다.

- public : 모든 멤버에서 접근이 가능합니다.

- protected : 상속받은 클래스 또는 같은 패키지에서만 접근할 수 있습니다.

- default(package private) : 같은 패키지의 클래스, 변수, 메소드, 내부 클래스에서 접근 가능합니다. 접근지정자를 생략하여 사용합니다.

- private : 클래스 내에서만 접근할 수 있습니다. 즉 다른 멤버에서 사용이 불가합니다.

패키지란? 서로 관련이 있는 클래스 또는 인터페이스를 묶어놓은 것, 클래스들을 필요할 때만 사용될 수 있도록 하고 계층적으로 관리하며 다른 그룹에 클래스의 이름간 충돌을 막을 수 있다.


접근 허용가능 범위는 public > protecred > default > private 순


접근지정자

클래스 내부

동일 패키지

하위 클래스

이외의 영역

public

o

o

o

o

protected

o

o

o

x

default

o

o

x

x

private

o

x

x

x


protected와 default의 차이 : default와 같으나 다른 패키지의 하위클래스에서도 상속이 가능한 것이 protected



주석문


코드의 이해를 도와주는 용도로 사용되는 주석문은 소스에 영향을 주지 않습니다. 주석문에는 핵심만 적는 것이 좋으며 특수문자를 포함하면 안됩니다. 주석문은 다음 3가지 방법으로 사용할 수 있습니다.


1. // 내용 : 한 라인 주석, //부터 행이 끝날 때까지 주석으로 처리합니다.

2. /* 내용 */ : 여러라인 주석, /*와 */ 안에 있는 문자를 주석 처리합니다. 여러줄을 처리할 수 있습니다.

3. /** 내용 */ : 여러라인 주석, 클래스의 선언부, 멤버, 생성자 등 클래스 인터페이스 시작 부분에 사용해야 합니다. 이 주석은 소스를 라이브러리로 만들 때, 공식 문서용으로 뽑아 사용할 수 있고 javadoc 시스템을 사용하여 API 문서나 도움말 등에 이용됩니다.



메인 메소드


메인 메소드는 Java 프로그램의 진입점으로 항상 public static void main(String[] args)의 형태로 작성된다. 매개변수 명만 변경 가능하며 나머지는 정해진 룰을 따라야 한다.


1
2
3
4
5
6
public class Daerong {
    public static void main(String[] args) {
        int n = 2018;
        System.out.println("Hello "+ n + "!!!");
    }
}
cs

public : 메인 메소드의 접근 제어자는 public이다. 이는 선택의 여지가 없으며 무조건 public을 사용해야 Java 런타임 동안 메인 메소드를 호출할 수 있다. 다른 접근 제어자를 사용할 시 프로그램이 실행되지 않는다.
static : Java 런타임이 처음 시작할 땐 클래스 인스턴스가 존재하지 않는다. 이런 상황에서 메인 메소드를 실행하기 위해서 이 키워드가 필수적이다. JVM에서 클래스 로드가 일어날 때, static 메소드인 메인 메소드를 로드하고 호출할 수 있다.
void : 이는 리턴 타입에 해당한다. 리턴타입이 없는 경우에 void를 사용하는데. 메인 메소드는 리턴 값이 없으므로 void로 선언한다. 메인 메소드가 끝난다는 것은 자바 프로그램의 종료를 의미하기 때문에 메인 메소드에서 무언가를 반환하려 하면 컴파일 에러가 발생하게 된다.
main : 자바 메인 메소드 명이다. 정해진 규약으로 지키도록 하자.
string[] args : 메인 메소드는 String 배열의 인자를 받는다. String args[]의 사용도 가능하다. args[]라는 문자열 배열에는 자바 프로그램 실행시에 주어진 옵션들이 자동으로 담기는 곳이며, Arguments 즉, 파라미터(인수)라는 뜻이 있습니다.


메소드(Method)

클래스의 멤버 함수를 자바에선 메소드(Method)라고 부릅니다. 기본적인 함수 작성이나 호출은 C/C++과 유사하다.
- 함수 : 절차적 프로그래밍 언어에서 사용하는 용어로 한 줄 이상의 명령어를 스코프 내에서 실행하고 return문을 만나면 자신을 호출한 명령어의 다음줄로 이동한다. 함수의 기능은 복잡한 프로세서의 기능을 일정 부분만 감당함으로써 효율적으로 프로그램을 개발할 수 있도록 한다.
- 메소드 : 객체지향 프로그래밍 언어에서 사용하는 언어로 클래스 데이터 타입에 의존적인 함수라고 볼 수 있다. 메소드의 개념을 쉽게 이해하기 위해 멤버 함수라고 부르기도 한다. 즉, 메소드는 클래스 안에서 사용하는 함수라고 보면 된다.

1) 매소드 선언
1
2
3
public static int sum(int n, int m) {
    return n + m;
}
cs

2) 메소드 호출
1
2
int i = 20;
= sum(i, 10);
cs

public : 접근 제어자
static : static 키워드를 사용하면 메모리 할당을 단 한번 하기 때문에 메모리 사용에 이점을 볼 수 있게된다.


변수

변수(Variable)란 프로그램 실행 동안 데이터를 저장하는 공간을 지정해 이름을 지정하여 사용하는 것을 말한다. 

자료형 int, 이름 i, 값 20으로 선언한 변수 선언
1
int i = 20;
cs

변수명 주의사항

- 한글을 사용할 수 있다.
- 대소문자를 구분한다.
- 길이 제한이 없다.
- 첫 단어로 숫자를 사용할 수 없다.
- 예약어(Java 프로그램에서 사용하기 위해 사전에 약속되어 있는 단어)는 사용할 수 없다. 
- '_'과 '$'를 제외한 특수문자는 사용할 수 없다.

카멜 표기법(Camel Notation)

카멜 표기법은 변수명 혹은 클래스명을 작성할 때 단어를 바로 붙여쓰고 각 단어의 첫 문자를 대문자로 표기하는 방식입니다. 단, 맨 앞글자는 소문자로 표기합니다. 또, 매소드 이름은 가급적 동사를 사용하는 것을 추천합니다.

1
public String createFunction(){};
cs


변수 타입과 크기

- 기본형(Primitive type) : 아래 표에 나와있는 변수타입
- 참조형(Reference type) : 기본형을 제외한 나머지 타입

1 bit

1 byte

2 byte

4 byte

8 byte

논리형

boolean

문자형

char(유니코드)

정수형

byte

short

int

long

실수형

float

double



그 외 자료형

final : 상수형으로 사용하지만 정확하게는 한 번만 초기화 가능한 타입입니다. 
1
public static final String MY_NAME = "Daerong";
cs

void : 리턴값 없음, 메소드가 값을 리턴하지 않음.

enum : 열거형 타입, 한정된 값을 갖는 데이터를 상수 처리할 때 문자로 전달하기 위해 사용한다.
1
2
3
public enum Type {
    WALKING, RUNNING, TRACKING, HIKING
}
cs


문장

자바에서 모든 문장은 ;(세미콜론)으로 끝나야 한다. Java 컴파일러는 ;을 끝으로 한 문장을 읽기때문에 ;에 주의하도록 하자.

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2025/02   »
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28
글 보관함