김갱환
맨땅에 코딩
김갱환
전체 방문자
오늘
어제
  • 분류 전체보기 (239)
    • ⁂ 맨땅에 코딩 (11)
      • : Story (3)
      • : MiniProject 'MyWeb' (1)
      • : Final Project (5)
      • : Josa-Moa 한국어 조사 처리 프로젝트 (1)
    • —————Frontend——————————————.. (0)
    • ⁂ HTML (10)
      • : 기본 익히기 (10)
    • ⁂ CSS (15)
      • : 기본 익히기 (15)
    • ⁂ Java Script (32)
      • : 기본 익히기 (28)
      • : 자바스크립트 라이브러리 (1)
      • : 연습 문제 (3)
    • ⁂ jQuery (11)
      • : 기본 익히기 (11)
    • ⁂ Bootstrap (3)
      • : 기본 익히기 (3)
    • ⁂ TailWind CSS (1)
    • ⁂ AJAX (5)
      • : 기본 익히기 (5)
    • ⁂ Vue.js (3)
      • : 기본 익히기 (3)
    • —————DB : Data Base————————.. (0)
    • ⁂ Oracle DB (27)
      • : 기본 익히기 (24)
      • : 연습 문제 (3)
    • ⁂ MyBatis Framework (15)
      • : 기본 익히기 (15)
    • —————Backend———————————————.. (0)
    • ⁂ Java (62)
      • : 기본 익히기 (42)
      • : JDBC - Java DataBase Conn.. (4)
      • : Crawling (2)
      • : 독학으로 공부하기(과거) (11)
      • : 연습문제 (3)
    • ——————Web————————————————— (0)
    • ⁂ JSP (28)
      • : 기본 익히기 (28)
    • ⁂ Spring FrameWork (15)
      • : Legacy Project (1)
      • : 기본 익히기(Boot 기반) (14)
    • ——————————————————————— (0)
    • ⁂ Error Note (1)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 연산자 #기본연산자 #코딩 #자바 #독학 #자바공부 #자바연산자
  • 코딩공부 #코딩 #자바 #자바독학 #자바공부 #개발자 #프론트앤드 #백앤드 #풀스택
  • httperror
  • HTML공부
  • 객체지향프로그래밍
  • 코딩
  • http에러메세지
  • 개발자
  • 코딩 #코딩공부 #프론트앤드 #백앤드 #풀스택개발자
  • 코딩 #코딩공부 #상수 #리터럴 #형변환 #개발자 #자바 #자바공부 #자바독학
  • 코딩공부
  • 자바
  • 프론트앤드
  • web.xml수정
  • ErrorPage
  • 풀스택
  • 백앤드
  • 코딩공부 #자바공부
  • 비트연산자 #코딩공부 #자바공부 #코딩 #자바 #프로그래밍 #개발자
  • 자바공부

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
김갱환

맨땅에 코딩

⁂ Java/: 기본 익히기

[JAVA] #6-1 Static

2022. 9. 13. 12:28

 Static의 기억해야 할 두 가지 특징부터 알아보자

 1) 간단하고 편리하다(빠르다)

 2) 연산은 계속 continue 된다(쌓인다)

 

* 전체 코드 1 : 기본 패키지

package oop0913;

public class Test02_static {

	public static void main(String[] args) {
		// static 정적
		// -> 변수 앞에 붙으면 정적 변수 또는 클래스 변수
		// -> 함수 앞에 붙을 수도 있다
		// static에 저장해달라는 뜻
		
		// 메모리 생성 1번, 소멸도 1번 된다
		// new 연산자를 이용한 별도의 객체 생성 없이 사용가능하다
		
		// static은 클래스명으로 직접 접근 가능하다
		// -> 클래스명.변수
		// -> 클래스명.함수()
		
		/*
		System.out.println(Math.PI); // 클래스명.변수(Math는 new로 선언하지 않아도 사용 가능하다)
		System.out.println(Math.abs(-3));
		System.out.println(String.format("%.2f", 12.3456789));
		*/
		//////////////////////////////////////////////////////////
		
		// Sawon 클래스를 생성하고 실습합니다~
		
		// static 변수와 static 함수는 클래스 명으로 직접 접근한다
		System.out.println(Sawon.COMPANY);
		System.out.println(Sawon.SUDANG);
		System.out.println(Sawon.TAX);
		Sawon.line();
		///////////////////////////////////////////////////
		
		// 1) static의 특징을 적용하지 않은 경우(비추천)
		Sawon one = new Sawon("1001", "개나리", 100);
		// 나의 세금
		double myTax = one.pay*one.TAX; // 3
		// 나의 총 지급액 = 급여 - 세금 + 수당
		int total = (int)(one.pay-myTax+one.SUDANG); // 100-3+10
		
		System.out.println("회사:"+one.COMPANY);
		System.out.println("사번:"+one.sabun);
		System.out.println("이름:"+one.name);
		System.out.println("급여:"+one.pay);
		System.out.println("수당:"+one.SUDANG);
		System.out.println("세금:"+myTax);
		System.out.println("총지급액:"+total);
		one.line();
		///////////////////////////////////////////////////////
		
		// 2) static의 특징을 반영한 경우
		//->static변수와 static함수는 이미 static메모리에 값이 올라와 있기 때문에
        //->별도의 객체 생성을 하지 않고도 바로 접근할 수 있다
		Sawon two = new Sawon("1002", "진달래", 200);
		myTax = two.pay*Sawon.TAX;
		total = (int)(two.pay-myTax+Sawon.SUDANG); // 100-3+10
		
		System.out.println("회사:"+Sawon.COMPANY);
		System.out.println("사번:"+two.sabun);
		System.out.println("이름:"+two.name);
		System.out.println("급여:"+two.pay);
		System.out.println("수당:"+Sawon.SUDANG);
		System.out.println("세금:"+myTax);
		System.out.println("총지급액:"+total);
		Sawon.line();
		/////////////////////////////////////////////////////
				
		
		// 3) static 변수의 연산
		// -> static 메모리의 특징은 생성도 1번, 소멸도 1번
		// -> 주소를 공유한다
		
		Sawon kim = new Sawon("1003", "무궁화", 300);
		Sawon lee = new Sawon("1004", "봉선화", 400);
		
		System.out.println(kim.SUDANG);	// 10
		System.out.println(lee.SUDANG);	// 10

		kim.SUDANG = kim.SUDANG+1;		// 10+1
		System.out.println(kim.SUDANG);	// 11
		
		lee.SUDANG = lee.SUDANG+1;		// 11+1
		System.out.println(lee.SUDANG);	// 12
		
		Sawon.SUDANG = Sawon.SUDANG+1;	// 12+1
		
		System.out.println(Sawon.SUDANG); // 추천
		System.out.println(kim.SUDANG);
		System.out.println(lee.SUDANG);
		
	} // main() end
} // class end

 

 

* 전체코드 2 : Sawon 클래스

package oop0913;

public class Sawon {
	// 멤버 변수 field
	String sabun;	// 사원번호
	String name;	// 이름
	int pay;		// 급여
	
	// 생성자 함수 constructor
	public Sawon () {}

	//생성자 함수 자동 코딩
    //메뉴Source ->Generate Constructor using Fields...
	public Sawon(String sabun, String name, int pay) {
		// super(); 자바에서 부모 관계를 나타낼 때 쓰임
		this.sabun = sabun;
		this.name = name;
		this.pay = pay;
	} // end
	
	// static 변수(주로 구분하기 위해 전체를 대문자로 쓰는 경우가 많다)
	static String COMPANY = "(주)아이티윌";
	static int SUDANG = 10;
	static double TAX = 0.03;
	
	// static 함수
	static void line() {
		System.out.println("-------------------------------");
	} // line() end
	
	// 멤버 함수 method

} // class end
저작자표시 비영리 동일조건 (새창열림)

'⁂ Java > : 기본 익히기' 카테고리의 다른 글

[JAVA] #6-3 Getter와 Setter 함수  (0) 2022.09.13
[JAVA] #6-2 Final  (0) 2022.09.13
[JAVA] #5-5 This와 This()  (0) 2022.09.13
[JAVA] #5-4 String 메서드  (0) 2022.09.08
[JAVA] #5-3 생성자 함수(Constructor)  (0) 2022.09.08
    '⁂ Java/: 기본 익히기' 카테고리의 다른 글
    • [JAVA] #6-3 Getter와 Setter 함수
    • [JAVA] #6-2 Final
    • [JAVA] #5-5 This와 This()
    • [JAVA] #5-4 String 메서드
    김갱환
    김갱환
    코딩의 코자도 모르는 이의 공부 기록장

    티스토리툴바