📘 Backend/Java

Java 기초 (Method, Variable)

신건우 2023. 3. 31. 13:13

📘 Java 기초

Java의 특징

  • 운영체제에 독립적
  • OOP
  • 함수형 프로그래밍 지원 (lambda , Stream)
  • 자동 메모리 관리 (garbege Collector에 의한 메모리 관리)

JRE (Java Runtime Environment) : JVM + 표준 클래스 lib**JDK (Java Development Kit) : JRE + 개발에 필요한 도구


Java에서 main method는 진입점 함수임.

img

  • 위 코드에서 public class main {} 은 다음을 의미함

    • 접근 허용범위가 public인 main이라는 class를 정의함 (main이라는 class 안에 코드작성가능)
  • 위 코드에서 public statis void main(String[] args] {} 는 다음을 의미함

    • void main은 나중에 배울 class와 관련됨 개념이니 소거하고, 간편식 A main(B C) { D }
    • A main(B C) { D } 는 method를 정의하는 문법.

📘 Method

  • 어떤 기능을 하는 코드를 묶음으로 묶은것, 어떠한 기능을 수행하기 위한 일련의 코드들의 집합체
  • 함수의 개념에 가까움

메서드

클래스 내에 포함되어 있는 함수

자바는 객체지향 언어이며, 모든 코드를 클래스 내에 작성하기 때문에,
보통 함수보다는 메서드라는 용어 사용.

void main (String[] args) { code }

A(반환타입) main(메서드이름) (B매개변수타입 C매개변수이름) {메서드_바디}

[A] 반환타입 void

  • A는 반환타입을 의미 , 처리결과를 일종의 '값'의 형태로 반환되며, 이를 반환값 이라고함
  • 값에는 정수형,문자형,논리형 등이 있음 (데이터 타입이라고도함)
  • 즉 A는 데이터의 값을 반환할 타입을 의미하며, 메서드를 정의할때 메서드 이름앞에 반환타입을 명시해주어야함

[B,C] 매개변수타입 , 매개변수이름

  • 데이터를 입력받음. 메서드 외부에서 메서드 내부로 전달되어진 값.
  • 외부로부터 전달받은 값으 저장하고있는 변수 = 매개변수
  • 어떤 유형값의 값을 메서드가 입력받을것 인지를 명시함.
  • 메서드를 정의할때는 매개변수타입과 매개변수의 이름을 공백으로 구분하여 명시해야함.

[D] 메서드 바디

  • 구체적으로 어떤 기능을 수행할지에 대한 코드를 작성하는 부분
  • return 키워드를 사용해 어떠한 값을 반환할 수 있음.

메서드 호출

메서드를 정의하는것만으로 실행이 되지않음, 메서드를 실행시키려면 메서드를 아래처럼 호출을 해주어야 함.

메서드 이름에 호출연산자 ()를 붙여 호출할 수 있다.

img

() 안에는 위에 언급한 매개변수에 넣어줄 값을 입력하면 됨.


수도 코드(pseudo code) 란?

프로그래밍 언어로 코드 작성 전, 어떤 과정을 통해 만들지 사람의 언어로 먼저 작성하는것


📘 변수

값을 저장할 수 있는 메모리 공간에 사람이 식별할 수 있는 이름을 붙인것 (메모리 주소 사용 x)


개념

  • 기억하고자 하는 값이 얼만큼의 메모리 공간을 필요로 하는지 파악
  • 기억하고자 하는 값이 차지하는 용량만큼의 메모리공간 확보
  • 확보한 메모리 공간에 기억하고자 하는 값 저장
  • 값을 저장한 공간에 이름을 붙임

위 과정에서 1,4번이 중요함


1번

  • 어떤 값을 기억하기전 그 값을 저장하기위해 필요한 메모리 공간의 크기를 알아야함.
  • 타입별로 차지하는 메모리 공간의 크기가 각각 다름.

4번

  • 어떤 값을 메모리에 저장 후, 해당 값에 접근 하려면 이름이 무조건 있어야함.
  • 이것을 변수라고함

아파트를 예로 들어보자

image-20230331100218837


변수 선언 / 값 할당

int num; // 변수 선언

num = 1; // 값 할당(초기화)

num = 2; // 값 할당(재할당)

int num = 1; // 선언과 동시에 초기화