본문 바로가기
java

22.10.26 클래스, 필드, 메소드, 전역변수, 지역변수 그 외 기본 개념

by SoulMania 2023. 2. 12.

1. java 파일 컴파일에 관련된 내용

.class 파일로 컴파일 한다고 하는것은 바이트 파일로 변환한다는 뜻.

jar 는 class파일 모아서 압축
war는 웹과 관련된 파일 모아서 압축.. 

클래스 명 처음에 대문자로 쓰자고 하는게 업계 개발자간의 암묵적 약속임.
println 이라는 메소드
println은 줄바꿈하고 print는 줄바꿈 안함.

Hi.java

 

public class Hi{

      public static void main(String[] args){
      // Hi라는 클래스
      // main 이라는 메소드 -->행뒤 동작을 하는 것.

System.out.println("hi~");

System.out.print("************************");

System.out.println("2thline");

      }

}

 

-----------출력값-------------------------------------
hi~

************************2thline

---------------------------------------------------------


bin 에는 class가 저장
src에는 ..java 파일이 저장됨.
class파일의 압축을 라이브러리에 미리 넣어놨다. jar

src 아래 자바 파일을 컴파일 하면 bin 아래 class파일이 생성된다.
패키지 익스플로러에는 안보인다.
직접 경로가서 확인하면 보인다.





2. 변수, coding 문법, 생성자, 필드, 메소드, 전역변수, 지역변수

 

- 변수 및 문법
  메모리 상 공간에 주소값이 있는데 이것에 이름을 붙인것이 변수

  () -> method명() 메소드명 뒤에 오고 변수나 조건식 등이 들어감
  {} -> 메소드나 클래스의 시작과 끝을 나타냄
  [] -> 배열 명[] :대부분 배열과 관련된 괄호

  필수적인 required
  대문자 uppercase()
  소문자 lowercase()
  curly braces {}
  invalid character constrant 유효하지 않음 문자를 썼다~

 

- 문자처리

  " " 문자열
  ' '문자 하나
  대신 문자 하나더라도 ""를 쓸수는 있다. 이것은 문자가 하나더라도 문자열로 취급
  System.out.println("문자열String출력"); //문자열은 String
  System.out.println("a"); //String으로 취급
  System.out.println('a'); //character로 취급 
  따라서 같은 a라도 문자열과 문자기 때문에 저장되는 형태나 저장용량 저장영역 같은 곳이 다 다르다는 의미이기도 하다.

- 생성자

  클래스 처럼 대문자로 시작하는 메소드를 Constructor(생성자) 라고 한다.
  Car(String model) {???

- 변수
  전역변수

  Global Variable 또는 Field 라고 한다.

  (정확히 얘기하면 필드 영역에 선언된 변수가 Global Variable 이라고 하는게 맞는듯하지만 그냥 Field 라고 부른다.)

  지역변수

  Local Variable

  Field는 클래스에서 내부 멤버이기 때문에 멤버변수(member variable)라고도 불리며, 클래스 내 전역에서 사용하기
  때문에 전역 변수라고도 불리며 데이터를 저장하기 위한 역할을 담당하며 생성자와 메소드 밖에서 사용한다. 즉 필드란
  클래스 안에서 독립적으로 선언되는 변수를 뜻한다

 

- 변수 형변환
  int height2 = (int)170.5; //강제로 인트타입으로 컨버트(강제 형변환)
  //실수타입의 value를 int타입으로 강제형변환하면서 값의 손실이 발생
  //(강제형변환타입)변수명
  //float height3 = (float)170.5; -->이것도 강제 형변환
  float height3 = 170.5F; //위와 결과 동일
  //위와같은 방식을 리터럴형변환방식 이것은  F, f, D, d로 사용
  //실수: float, double(기본)

- float와 double의 차이
  //유효자릿수 가 뜻하는 것은 정밀도 를 뜻합니다. 즉, 몇자리 까지 오차없이 표현할 수 있는가입니다. 
  //float은 7자리(4바이트), double은 15~16자리(8바이트) 까지 표현할 수 있습니다. 따라서 float 의 정밀도보다 더 높은
  정밀도가 필요하다면 double 을 사용해야 합니다.

 

- 문자열과 숫자 연산 처리

//"한국나이: " +age
//"한국나이: " +30
//"한국나이: " + "30"  "한국나이 : 30"
//"한국나이:30"+1      "한국나이:30"+"1"
//print(), println() 안에서 문자열이 먼저나오면 자동으로 문자열결합이 된다. 그래서 괄호를 안하면 한국나이 301로 나오는 것.
//System.out.println("한국나이 : "+ (age+1)); // 한국나이 : 31  --> 이러한 형식으로 써야한다.

- 변수별 기본 크기
// 정수:byte(1byte), short(2byte), int(기본 4byte), long(8byte)
// int weight=50; //몸무게 short 나 byte라고 선언해도 상관 없다.
// 변수선언 문법> 데이터타입 변수명;
// 값할당 문법> 변수명=값;
byte weight;
weight = 50;
System.out.println("(한달전)몸무게 : "+ weight);
weight = 55;
System.out.println("(오늘)몸무게 : "+ weight);

//위와같은 경우 때문에 변수타입 변수명 값을 분리해서 선언