본문 바로가기
* Web/[Back] Java

[Java 자바] 클래스(class) 개념과 학습방향 한방에 이해하기

by codinguser 2021. 7. 4.

이글은 자바에 해당하는 클래스의 개념에 대해 적어놓은 글입니다.

 

자바를 처음 입문하신 분들에게 클래스가 무엇이고, 어떻게 쓰이는지 혹은 어디서 어떻게 클래스 정보를 가져오는지에 대한 가장 원초적인것에 초점을 맞춰 기술 하였습니다.

 

 

System.out.println() 뭐지?..


아마 c언어를 먼저 하신분들이 java로 넘어오면서 드는 생각은 아래와 같을 것 입니다. c언어에서 pirntf()로 표현되는것과 달리 자바에서는 System.out.printf()이라는 표현을 바탕으로 출력을 하고 있습니다. 참 아이러니 합니다.

그렇다면 왜 이렇게 쓸까요?

 

 

결론부터 말하면 아래와 같습니다.

 

 

우선 System.out.println()에서 System을 호출하기 위해서는 아래와 같은 패키지에서 불러오게 됩니다.

System 클래스는 java.lang패키지에 속한다.

(즉, 누군가 만들어 놓은 하나의 연장도구들을 꺼내온다고 이해하시면 쉽습니다.)

 

자바를 실행하기 위해 설치하는 JDK 안에서 JDK라이브러리에 있는 System 클래스이름
out은 이 클래스(System)에 있는 필드 이름

으로 알고 계시면 됩니다.

(자세한건 아래 공식문서를 참조하여 들어가면 한번에 이해가 될 것입니다.)

 

 

 


System 클래스에 대한 원초적인 이해


[Java 자바] 클래스(class) 개념과 학습방향 한방에 이해하기
자바 패키지 파일

 

 

Java 자바 Class 클래스
java.lang 패키지 안에 있는 여러가지 도구들

 

자바 프로그램은 운영체제 상에서 직접 실행되는는 것이 아니라 자바 가상머신 위에서 실행이 이루어 집니다. 그렇기에 운영체제로부터 직접적인 영향을 받지 않습니다. 하지만 자바 프로그램이 운영체제와 전혀 무관하게 실행 될 수 있다는 이야기는 아닙니다.

 

간단한 예로 키보드 입력, 모니터 출력 등 실행에 관련된 여러 기능들을 수행하기 위해서는 운영체제의 도움을 받아야 합니다.

이러한 실행 환경을 조성하는 데 사용되는 여러 가지 환경 변수들은 운영체제에 있기에 운영체제로부터 읽어와야 합니다. 즉, JDK 라이브러리에는 운영체제와의 이런 상호작용에 필요한 여러가지 기능들을 모아 놓은 System이라는 클래스가 있다.

 

 

자바에서 제공하는 많은 기능들이 자바 프로그래밍 언어 자체에 의해서가 아니라 JDK에 속해있는 

1)표준 클래스

2)인터페이스

 

에 의해 제공됩니다.

대표적인 표준 라이브러리
- String 클래스(문자열 클래스)
- System 클래스(System.out.println)

이러한 라이브러리들은 JDK안에 포함되어 있는데, JVM이 자바 프로그래밍을 실행할 때 이 라이브러리의
클래스와 인터페이스들을 자동으로 읽기 때문에 우리가 지금까지 특별한 신경을 쓰지 않고도 사용 할 수가 있었던 것이다.




코딩 테스트를 자바 언어로 선택했다면 알아야 할 지식들( with 문자열 관련 클래스)


str.replace("a", "알파벳에이")

str.concat("a")

이런식으로 하면 메모리도 많이 사용하게 되고, 프로그램의 성능상 좋지 않다. 그럴 때는 문자열 조작에 적합하게 만들어진 다른 클래스를 이용하는것이 좋다.

 

즉 문자열 조작에 적합하게 만들어진 클래스의 두 종류인

1. StringBuilder 클래스

2. StringBuffer 클래스

 

를 이용하는것이 효과적이다.


이 클래스들은 모두 객체 내부에 있는 버퍼(Buffer, 데이터를 임시 저장하는 메모리)에 문자열의 내용들을 저장해두고
그 안에서 추가/수정/삭제 작업을 한다. 그렇기에 이 클래스들을 이용하면 새로운 객체를 만들지 않고도 문자열 조작이 가능하다.


java.lang 패키지에 속하지만 이 클래스를 사용하기 위해 import 선언문을 쓸 필요는 X
java.lang 패키지는 자바 프로그램에 필요한 아주 기초적인 클래스와 인터페이스들이 있는 패키지 이기 때문에 import 문을 쓰지 않아도 자바 컴파일러와 자바 가상 기계가 자동으로 import 하기 때문이다.

 

일반적으로 코딩 테스트를 위해 많이 사용되는 import는 아래와 같다.

 

import java.util.*;

 

학습 방법?

 


 

1. 우선 가장 많이 쓰이는것들은 암기가 필요하다.

(처음 학습자라면 일단 무엇이 쓰이는지에 대한 가장 근본적인 것을 가져 가야 한다.)

 

2. 그리고 난 뒤 공식문서를 통해 계속해서 학습하는 방향으로 가져가야 한다.

(암기만 하지 말고, 필요한 걸 가져다 쓴다는 개념으로 학습을 하면 쉽다.)

(공식문서와의 반복은 개발에 있어 가장 중요한 학습방법이다.)

 

 

키워드 : java api documentation(JDK 버전에 맞게 찾기)

 

Java Platform SE 7

 

docs.oracle.com

 

댓글