-
210416_5(클래스class)JAVA(Sol)(정리대기중..언젠가) 2021. 4. 16. 15:19
클래스 : 자바 프로그램의 기본단위.
javac A.java 실행 java A
class A { -----> 저장 A.java ---> 컴파일 A.class ---> A a = new A(); 인스턴스a
int age | a.age=19;
public void name() { | a.name();
System.out.print(age+"홍길동 입니다."); 19홍길동입니다
}
}
-- 한개 소스에 여러개의 클래스 정의 가능
-- 대표클래스앞에 public이라고 붙인다
-- public 클래스안에 main함수를 정의한다
-- 저장 파일명은 public이 붙은 클래스명.java 가 된다
class A{
메롱();
}
public class B{
main() {
C c = new C();
c.hi();
}
class C{
void hi(){
A a = new A() ;
a.메롱()
}
-- 위의 소스를 컴파일 하면 A.class B.class C.class 가 각각 따로 생성된다.
-- 사용할때 B가 실행될때 A와 C를 참조(의존)해서 실행하게된다
-- A와 C는 main 함수가 없기 때문에 단독실행이 불가능 하다.
--클래스안에 클래스를 정의 할 수 있다. 이것을 inner 클래스라고 부른다.
class A { //컴파일하면 A.clss 와 A$B.class 가 생성된다.
class B { //B클래스의 역활은 A에 종속되며, 외부 클래스에서는 사용할수 없다.
}
}
---------------
import A;
public class C {
main( ) {
A a =new A();
}
}
---------------
클래스 내부에 코드는 안나온다
clsaa A {
int a; 변수 선언O
int b;
a+b; X<====(처리식)코드는 안나온다.
void aa(a) {} 함수정의O
int age(b) {
a + b ; O<=====코드는 함수(메서드) 안에서 나온다
}
}
package chaper7; class Pay { String name; int bonbong; int tex; int silsu; } public class PayCalc { // 동일 소스 안에 클래스가 2개 이상이면 main 함수가 있는클래스로 // 생성한다 그리고 나머지 클래스를 부수적으로 명기한다 public static void main(String[] args) { Pay p1 = new Pay(); //인스턴스생성 Pay p2 = new Pay(); //인스턴스생성 Pay p3 = new Pay(); //인스턴스생성 p1.bonbong = 2000000; p1.name = "왕눈이"; p1.tex = (int) (p1.bonbong * 0.045 + 0.5); p1.silsu = p1.bonbong - p1.tex; p2.bonbong = 2500000; p2.name = "아로미"; p2.tex = (int) (p2.bonbong * 0.045 + 0.5); p2.silsu = p2.bonbong - p2.tex; p3.bonbong = 1500000; p3.name = "투투"; p3.tex = (int) (p3.bonbong * 0.045 + 0.5); p3.silsu = p3.bonbong - p3.tex; System.out.println("-----------------"); System.out.println("---12월 급여 내역---"); System.out.println("-----------------"); System.out.println("성명 :" + p1.name); System.out.println("본봉 :" + p1.bonbong); System.out.println("세금 :" + p1.tex); System.out.println("실수령액 :" + p1.silsu); System.out.println(""); System.out.println("-----------------"); System.out.println("---12월 급여 내역---"); System.out.println("-----------------"); System.out.println("성명 :" + p2.name); System.out.println("본봉 :" + p2.bonbong); System.out.println("세금 :" + p2.tex); System.out.println("실수령액 :" + p2.silsu); System.out.println(""); System.out.println("-----------------"); System.out.println("---12월 급여 내역---"); System.out.println("-----------------"); System.out.println("성명 :" + p3.name); System.out.println("본봉 :" + p3.bonbong); System.out.println("세금 :" + p3.tex); System.out.println("실수령액 :" + p3.silsu); System.out.println(""); } }객채배열
class Pay {
}
class PayCalc {
main() {
Pay[] pay = new Pay[3] //배열변수 만들때 new한번
pay[0] = new Pay; //인스턴스화할때 new 한번// new가 두번 나온다
pay[1] = new Pay;
pay[2] = new Pay;
===> 결국 인스턴스화는 전부작성해야된다, 루프화시켜도됨
'JAVA(Sol)(정리대기중..언젠가)' 카테고리의 다른 글
210416_7(method만들기) (0) 2021.04.16 210416_6(클래스class) (0) 2021.04.16 210416_3~4(다차원배열,args인자값사용하기) (0) 2021.04.16 210415_7~210416_1~2(array,배열) (0) 2021.04.15 210415_1 (switch문, ||&&논리연산자) (복구성공) (0) 2021.04.15