본문 바로가기

Language/Java

(8)
[JAVA]급여관리 프로그램 // 근로자 클래스 package Data; public class Employee { private String id; private String pw; private String name; private int sal; public Employee() { this.sal = 200; } public String getid() { return id; } public void setid(String id) { this.id = id; } public String getPw() { return pw; } public void setPw(String pw) { this.pw = pw; } public String getName() { return name; } public void setName(String..
[JAVA] this에 대해 앞서 class에 대해(js-coding-study.tistory.com/12) 정리할때 나왔던 this에 대해 정리해보았다. this는 instance method에만 존재하며 static method는 가지고 있지 않다. instance method인지 아닌지 구분하는 법은 static이 달려있는지를 보면 되는데 달려있으면 static 아니면 instance다. instance는 this를 가지고 있다고 했는데 그 this를 찾을수가 없다. 그 이유는 java자체에서 자동으로 제공을 해줘 코드상에서는 생략되기 때문인데 this는 instance method의 첫 번째 매개변수로 존재하지만 생략되어 보이지 않는다. 이 this의 용도는 객체를 호출 할 때 호출 한 객체가 무엇인지 구분하기 위해 그 객체..
[JAVA] Class에 대해 객체지향프로그래밍(OOP, Object Oriented Programing)을 할 때 Class를 많이 접하게 된다. 이런 Class에 대해 정리해보았다. 1. Class란 무엇인가. 먼저 Class가 무엇인지를 알아야 하는데 간단하게 보면 큰 틀이라고 볼 수 있다. 여러 타입의 변수들을 담고 또한 메소드(함수)등을 담을 수 있는 하나의 틀이라고 생각하면 되는데, c를 배웠던 사람이면 구조체를 생각하면 이해하기가 편하다. c에서의 구조체는 다른 타입의 변수들을 하나의 덩어리로 사용하기 위해 쓰여지는데 OOP에서의 Class는 조금 더 확장하여 각기 다른 타입의 변수 뿐만 아니라 함수들도 담아 사용할 수 있게 하였다. Class는 OOP의 특징을 보여주게 되는데 캡슐화, 상속, 다형성, 추상화를 모두 찾아..
[JAVA] Method호출 방식(Call by Reference, Name, Value) Java에서 Method(함수)를 호출 하는 방식에는 3가지(Reference가 빠진 2가지라고 하기도 한다)가 있다. Call by Reference(참조에 의한 호출), Call by Name(이름에 의한 호출), Call by Value(값에 의한 호출)이 있다. 1. Call by Name - 이름에 의한 호출 이름에 의한 호출이란 함수를 호출할 때 함수 이름만으로 호출을 하는 방식으로 test라는 이름을 가진 함수가 있을때 코드상에서 매개변수 없이 test();만을 써서 함수를 호출 하는 방식이다. 주로 반환받을 값이 없는 기능을 수행하는 함수의 경우 사용하는 방식이다. 2. Call by Value - 값에 의한 호출 값에 의한 호출은 함수를 호출 할 때 매개변수로 값을 넣고 호출하는 방식이다..
[JAVA]반, 학생 수 를 입력받는 성적 프로그램 몇반까지 있는지와 각 반마다의 학생수를 입력받는 프로그램이다. 3차원 배열을 사용하여 코딩하였다. import java.util.Scanner; public class ObjectArrayExam04 { public static void main(String[] args) { String name[][]; int score[][][]; float avg[][]; int c_num = 0, s_num = 0; String index[] = { "kor", "eng", "math", "total" }; Scanner sc = new Scanner(System.in); System.out.print("input class number : "); c_num = sc.nextInt(); System.out.pri..
[JAVA] 별찍기 import java.util.Scanner; public class StarPrint { public static void main(String[] args) { int max = 0; int start = 0; int blank = 0; //1. 3*4 네모 System.out.println("1"); for (int i = 0; i < 3; i++) { // 세로 3칸 for (int j = 0; j < 4; j++) { // 가로 3칸 System.out.print("*"); } System.out.println(); } System.out.println("\n---------------------\n"); //2. 좌측 하단이 직각인 직각 삼각형 System.out.println("2"); ma..
[JAVA]Stack과 Heap에 관하여 Java는 JVM(Java Virtual Machine)을 통해 컴파일되고 실행되게 되는데 그 JVM의 구조중 Runtime Data Area가 있다. Method Area Heap Area Stack Area PC Register Native Method Stack Runtime Data Area는 위와같은 5개의 영역이 있는데 그중 Stack과 Heap에 대해 알아보았다. 1. Stack Stack영역에는 Method가 호출될 때 그 Method에서 사용될 지역번수(Local Veriable)을 준비하고 또한 Method를 호출할때 전달하는 매개변수(Parameter)등이 저장되는 영역이다. Stack영역도 세세하게 나눌수는 있지만 그에 관한 내용은 한국데이터산업진흥원(www.kdata.or.kr/i..
[JAVA]연산자(Operator) Java에는 많은 종류의 연산자가 있는데 그 종류와 예시를 정리했다. 먼저 아래와 같이 변수를 선언한다. 1. 산술 연산자( +, -, *, /, % ) 2. 논리 연산( &&, ||, ^, ! ) 3. 비트 연산 ( &, | ) 4. 비트 이동 연산( >>, ,