-
메서드(Method)
class 안에 main메서드, 아니면 함수를 쓰는 메서드 등등.
"실제 현장에서는
패키지 단위로 main메서드는 class중에 단 하나에만 놓고 사용한다."
main메서드는 그 패키지를 실행하는 트리거 같은 역할을 해야하기 때문이다.
static 영역 = 동적메모리. 언제나 가져올 수 있는 영역(생성자를 굳이 만들지 않고 클래스 자체로도 사용가능)
사칙연산
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647package chapter4;public class WhatIsMethod {// method란public static void main(String[] args) {System.out.println(5 + "+" + 7 + " = " + add(5, 7));System.out.println(7 + "-" + 5 + " = " + minus(5, 7));System.out.println(7 + "*" + 5 + " = " + times(5, 7));System.out.println(10 + "/" + 2 + " = " + divide(2, 10));}// 사칙연산static int add(int a, int b)// 매개변수{return a + b; // 리턴값// 리턴값의 변수형을 void외에 것으로 사용 시 꼭 return을 입력해야 함.(지금은 int형)}static int minus(int a, int b) {int result = 0;if (a > b) {result = a - b;} else {result = b - a;}return result;}static int times(int a, int b) {int result = a * b;return result;}static int divide(double a, double b) {int result = 0;if (a > b) {result = (int) (a / b);} else {result = (int) (b / a);}return result;}cs override
같은 이름의 메서드라도 매개변수의 변수형이 다르면 다른 함수로 인식한다.
즉 같은 이름이라도 변수형이 다르면 사용가능.
이를 overriding method = 재정의 메서드라고 한다.
int add 메서드 밑에 double add메서드를 만들어보자.
int add 의 매개인자 = int a, int b
double add 의 매개인자 = double a, double b
12345// overriding method(재정의 method)// 더하기(실수)static double add(double a, double b) {return a + b;}cs 클래스(class)
멤버변수(member valeable): 클래스의 특성.
메서드(method): 멤버변수로 메서드를 만들어 사용할 수 있음
참조자료형 클래스 만들기
1.인스턴스 변수
2.생성자
3.method
멤버변수를 만들 땐 get,set 메서드를 꼭 만들어 놓아야 한다.( 안 만들면 기본을 모르는 개발자...)
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192package chapter4;//참조자료형 클래스(object)public class Book {// 1.인스턴스 변수(클래스변수,member valuable)// static: 생성자로 만들기 전에 이미 저장되있는 변수.// 그래서 인스턴스 변수가 아니라 클래스 변수라고 한다.static int bookId = 10;String bookName;String bookWriter;int bookPrice;String bookPublisher;String managerId;// 2.생성자(default 생성자는 자동 생성)// default 생성자Book() {System.out.println("나 디폴트 생성자야");}// overriding 된 생성자.Book(String bookName, String bookWriter, int bookPrice) {this.bookName = bookName;this.bookWriter = bookWriter;this.bookPrice = bookPrice;}// 3.method// 정의 methodpublic void showBookInfo() {System.out.println("책이름: " + bookName);System.out.println("저자: " + bookWriter);System.out.println("가격: " + bookPrice + "원");System.out.println("출판사: " + bookPublisher);System.out.println("========================");}// get method: 인스턴스변수의 값 가져오기// set method: 인스턴스변수의 값 설정하기// '오른쪽 마우스 -> Source -> Generate Getters and Setters' 로 간단히 만들 수 있음public static int getBookId() {return bookId;}public static void setBookId(int bookId) {Book.bookId = bookId;}public String getBookName() {return bookName;}public void setBookName(String bookName) {this.bookName = bookName;}public String getBookWriter() {return bookWriter;}public void setBookWriter(String bookWriter) {this.bookWriter = bookWriter;}public int getBookPrice() {return bookPrice;}public void setBookPrice(int bookPrice) {this.bookPrice = bookPrice;}public String getBookPublisher() {return bookPublisher;}public void setBookPublisher(String bookPublisher) {this.bookPublisher = bookPublisher;}public String getManagerId() {return managerId;}public void setManagerId(String managerId) {this.managerId = managerId;}}cs 위의 Book클래스를 이용하는 mainboard만들기
12345678910111213141516171819202122232425262728293031323334package chapter4;public class BookControl {public static void main(String[] args) {// 인스턴스 생성하기(객체 생성)Book b1 = new Book();b1.bookId = 1;b1.bookName = "자바의 정석";b1.bookWriter = "남궁성";b1.bookPrice = 30000;b1.bookPublisher = "도우출판";b1.managerId = "0101";Book b2 = new Book();b2.bookId = 2;b2.bookName = "처음 읽는 음식의 세계사";b2.bookWriter = "미야자키 마사카츠";b2.bookPrice = 16000;Book b3 = new Book();b3.bookId = 3;b3.bookName = "파이이야기";b3.bookWriter = "얀 마텔";b3.bookPrice = 10000;b1.showBookInfo();b2.showBookInfo();b3.showBookInfo();}}cs 배열복습
(구구단, 1문에 2가지 방법)
12345678910111213141516171819202122232425262728293031323334353637383940414243444546// 구구단// 3*9의 2차원 배열// 1행: 2단 2,4,6,8,......// 2행: 3단 3,6,9,12,......// 3행: 4단 4,8,12,16,......public static void e1() {int[][] arr = new int[3][9];for (int i = 0; i < arr.length; i++) {for (int j = 0; j < arr[i].length; j++) {if (i == 0) {arr[i][j] = 2 * (j + 1);} else if (i == 1) {arr[i][j] = 3 * (j + 1);} else if (i == 2) {arr[i][j] = 4 * (j + 1);} else {break;}}}for (int i[] : arr) {for (int j : i) {System.out.print(j + "\t");}System.out.println();}}// 구구단// 3*9의 2차원 배열// 1행: 2단 2,4,6,8,......// 2행: 3단 3,6,9,12,......// 3행: 4단 4,8,12,16,......public static void e2() {int[][] arr = new int[3][9];for (int dan = 0; dan < arr.length; dan++) {for (int jisu = 0; jisu < arr[dan].length; jisu++) {arr[dan][jisu] = (dan + 2) * (jisu + 1);System.out.print(arr[dan][jisu] + "\t");}System.out.println();}}cs 'JAVA' 카테고리의 다른 글
static main, 접근제한자, 싱글톤정의 (0) 2021.07.22 java 및 객체의 정의 (0) 2021.07.22 2-3차원배열,향상된for문 (0) 2021.07.21 배열,while,for문 (0) 2021.07.21 [java] 변수,변수형,연산자,if문 (0) 2021.07.21