본문 바로가기
개발&코딩/Java

Java 독학 #1 - 기초 개념, 입출력

by 우동이 2022. 4. 2.
300x250

사용언어 : Java

작성일자 : 2022-04-02

기본 숙지 개념 : Java 기초, 프로그래밍 언어

작업환경 :  VIsual Studio Code

버전 : JDK 17.0.2

 

추천 자료 : https://docs.oracle.com/javase/7/docs/api/


주제 :  Java 언어에 대한 기초 지식

▶ Java의 간단한 특징

Java라는 언어는 5가지 특징을 가지고 있다.

  • 객체 지향 프로그래밍(OOP)
  • 자동 메모리 관리(할당과 삭제가 자동)
  • 운영체제에 독립적(운영체제에 구애받지 않고 모든 환경에서 실행가능)
  • 멀티스레드 지원(하나의 프로세스 내에서 둘 이상의 스레드가 동시에 작업 - 효율적)
  • 동적 로딩(필요한 시점에 사용해야하는 클래스를 로딩한다. -> 형식에 제한되지 않고 컴파일 성능이 향상됨)

이 정도만 알아봐도 아직까지 Java로 개발을 진행하는 기관,기업이 많은 이유를 알 수 있다.

그만큼 대체할 필요가 없을 정도로 편리한 언어이기 때문이다.


▶Java 코드의 기본 구조(+출력)

//test1.java

public class test1 { //test1 클래스
    public static void main(String[] args){ //main
        System.out.println("Hello"); //Hello 문자열 출력
    } 
}

위 코드는 test1.java 라는 java파일의 코드 구조이다.

컴파일러에서 java를 사용할 준비가 끝마쳐진 상태라면 

자동으로 public의 클래스가 하나 생성되고 

안에 main이 하나 생성될것이다.

 

자바는 위에서 말했듯 객체 지향 프로그래밍 이기 때문에 

Class 단위로 코딩이 진행된다.

 

대부분의 자바 프로그램이 이 클래스의 개념에 맞춰 코딩된다고 생각하면된다.

 

System.out.println은 표준 출력 스트림으로 함수의 원형은 아래와 같다.

System.out.println(data)

Java_API

아까도 말했듯 클래스 단위의 언어이기 때문에

우리는 이미 만들어져 있는 System 클래스 > out 클래스 > println 이라는 함수(메소드)를 사용하고 

있다고 생각하면 편하다.


 

▶Java 코드의 기본구조 (+입력&출력)

//basic1.java

import java.util.Scanner; // 입력 스트림 사용을 위해 필요한 모듈을 불러온다.
 // import java.util.* <- *표시는 해당 상위 폴더의 모든 모듈을 import 한다는 의미이지만
 // 관행상 필요한 모듈만을 불러오는걸 추천하므로 위에 Scanner 모듈만 불러와 사용하도록 하자

public class basic1 {
    public static void main(String [] args){ //main
        
        Scanner sc=new Scanner(System.in); //sc객체를 생성한다.
        String name=sc.next(); //name 변수에 sc.next() 메서드를 사용해 값을 입력받는다.
        System.out.println("당신의 이름은 : "+name+"입니다."); // name변수의 값을 출력한다.
    }
}

자바에서 입력기능을 사용하기 위해서는 java.util.Scanner 모듈이 필요하다(스캐너)

import는 해당 모듈이 존재하는 위치를 불러와 사용하겠다는 의미이다.

 

그리고 sc라는 객체를 생성하는데 여기서 객체란 이미 만들어져 있는 클래스를 사용하는 또다른 사용자이다.

피겨선수라는 단어가 있다면 이것은 클래스

김연아, 아사다 마오 등 피겨를 하는 선수들은 객체

피겨 선수들이 선보이는 기술들을 메서드(함수)라고 생각하면 편할듯

 

next() 메서드 api 문서

입력기능을 사용하는 법은 위와 같다.

아까 말했듯 sc 라는 객체를 생성

값을 받을 변수 name에 sc.next() // next() 메서드는 문자열을 받아오는 메서드

를 통해 문자열 값을 받는다.

이후 출력 스트림으로 출력하면 결과값은 아래와 같다.

결과화면

 


 

결론 :  기초구조, 표준 입출력 스트림

//코드 기초 구조 (클래스)
public class ClassName { //public class
    public static void main(String [] args){ //main
        
      
    }
}

자바는 객체 지향 프로그래밍 이므로

모든 코딩이 클래스 단위로 짜여짐 

클래스 : 틀

객체 : 틀로 만든 무언가

메서드 : 틀로 하는 기능

//표준 출력 스트림
System.out.println(data)
//data -> 출력할 값

System 밑에 out 밑에 println 이라는 메서드를 사용한다.

import java.util.Scanner; //입력 스트림 사용을 위해선 필요한 모듈 별도로 import 해줘야 함

Scanner sc = new Scanner(System.in); //sc 라는 객체 생성 Scanner class 기능을 사용하겠다는 선언
String value = sc.next(); //value라는 string형 변수에 값을 넣는다.
//next() 메서드 말고도 다양한 입력 스트림이 존재 추후 배워보도록 하자

입력 스트림 사용을 위해선 무조건 Scanner 모듈이 import 되어야 한다.

sc라는 객체를 생성 Scanner 클래스를 사용한다.

value 라는 String형 변수에 next()메서드를 사용해 값을 입력받는다.

 

 

참고자료 : https://docs.oracle.com/javase/7/docs/api/

검색 -> next()

검색 -> Scanner

검색 -> System.out

 

 

300x250

댓글