728x90
반응형
test
method overloading
add(5,7); //12 mul(5, 3); //15 div(30,3); //10 mod(19,3); //1 |
static void add(int x, int y) { System.out.println(x+y); } static void mul(int x, int y) { System.out.println(x*y); } static int div(int x, int y) { return x/y; } static int mod(int x, int y) { return x%y; } public static void main(String[] args) { add(5, 7); //12 mul(5, 3); //15 System.out.println(div(30,3)); //10 System.out.println(mod(19,3)); //1 } |
12, 15, 10, 1 | static int add(int x, int y) { return x+y; } static int mul(int x, int y) { return x*y; } static int div(int x, int y) { return x/y; } static int mod(int x, int y) { return x%y; } public static void main(String[] args) { int a = add(5,7); //12 int b = mul(5, 3); //15 int c = div(30,3); //10 System.out.printf("%d, %d, %d, %d", a, b, c, mod(19,3)); } // 연산식 추후 사용에 따라 method호출 하는 위치가 달라질 수 있음 |
클래스(class)
클래스(class) | ||
: Java에서 data를 담기 위한 속성(변수, 상수, 객체)들과 어떠한 명령들을 처리하기 위한 기능(method, 생성자, 초기화블럭)들의 집합. Java file의 최소 단위 class의 member로 존재할 수 있는 것 |
||
1.속성(=변수, 상수, 객체) | [접근제어자]class 클래스명 { [접근제어자] [기타제어자] 자료형 변수명 = 값; 변수; 상수; 객체; x 초기화 a=5; } |
final int MAX = 100; //상수선언 int max = 50; //변수선언 int marr = new int[3] //객체 선언 및 String str = " " ; //객체, 참조변수 |
2-1. 초기화블럭 초기값을 설정 대입하는 것. 맨 처음 1번만 실행됨. |
[static] { 실행문들...; } |
static |
2-2. method : 필요할 때마다 |
[접근제어자][기타제어자] 리턴타입 메소드명(매개변수...) { 실행문들...; [return 값;] } //<필수>(){} |
public void md () { } |
2-3. 생성자(Constructor) :class에서 instance(객체)를 생성할 수 있도록 도와주는 기능을 처리함. 1. <필수> class명과 동일해야 한다. 2. <필수> return타입x 기술부 자체가 없다. 3. 객체생성문에서 new키워드 뒤에 호출이 된다. 4. class안에 기술된 생성자가 한 개도 없으면 기본 생성자가 숨어있다. 목적 : 클래스 안의 멤버필드(속성)의 초기화를 진행, 5. class안에 기타생성자가 한 개라도 기술되어 있으면 기본 생성자는 사라진다. **기본생성자를 사용하려면 반드시 기본생성자도 기술해줘야한다. |
1) defalut(기본) 생성자 //숨어있는 기본 생성자 public 클래스명( ){ } [접근제어자] 클래스명() { 실행문들...; } //<필수>(){} |
ExClass ec = new ExClass(); |
2) 기타생성자 [접근제어자] 클래스명([매개변수 1개이상...]) { 실행문들...; } |
||
x 멤버에 조건문, 반복문, 제어문, 출력문 | a = 5; 초기화는 선언과 동시에 하거나, method나 생성자 안 에서만 가능 |
일반 class | main class |
main method x | main method o |
class를 만드는 것은 객체를 형성하기 위한 것. | |
public class Ex01 { int a = 5; //변수선언 - 멤버변수, 필드, 컬럼, 인스턴스변수 속성(Attribute, Property) public void md( ) { //메소드선언 - 멤버 int b = 6; //지역 System.out.println("md메소드 출력"); } } |
|
변수의 종류 | ||
생명주기 | 전역변수 : 전역에 사용되는 변수, 프로그램이 실행되어 선언된 시점에서 프로그램이 종료될 때까지 살아있는 변수 ( 멤버변수 //자동초기화 |
public class Ex01 { int b ; //자동초기화값 0 public void md1( ) { int a = 5; System.out.println(a); int b = 7; //동일지역내, 동일명으로 1번은 재선언 가능 String b = "가" //자료형이 바뀌면서 1번은 재선언 가능 System.out.println(b); } public void md2( ) { System.out.println(b); //b = 0 } } |
지역변수 : 지역 내부 안에서만 살아있는 변수 (메소드, 생성자, 반복문, 조건문(제어문)) |
선언을 한 건지 재선언을 한 건지 |
|
public class ExMain { public static void main(String[] args) { } } |
public class ExClass { int a; public void mdA() { System.out.println(a); } public void mod(int a, int b) { System.out.println(a%b); } } |
Java는 객체지향언어(Object Oriented programming Language)
객체선언형식 | 자료형 변수명 = 값; -자료형 class급 이상(String) |
특수문자로는 _, $로만, 공백x |
자료형 참조변수명 = new 자료형명([]) ; (객체명,인스턴스명, 주소값저장) 생성자호출문 |
자료형 객체명=new 자료형( ); ExClass el = new ExClass( ); //객체선언 및 공간할당 instance객체명(복사해서 메모리에 올려놓은 상태, Heap영역) el.a = |
|
Ex06
클래스 new
public class Ex06Class { int x; //0 멤버는 자동초기화값을 갖는다. int y; //0 } |
10, 0 0, 5 |
public class Ex06Main { public static void main(String[] args) { Ex06Class e6c = new Ex06Class(); e6c.x = 10; System.out.println(e6c.x + ", " + e6c.y ); Ex06Class e6c1 = new Ex06Class(); e6c1.y = 5; System.out.println(e6c1.x + ", " + e6c1.y ); } } |
변수선언 및 값 할당 |
//변수 만들 수 있는 자료형 : 기본자료형(byte, short, int, long, char, float, double) 자료형 변수명 = 값; 객체선언 및 공간 할당(클래스 복제) //객체를 만들 수 있는 자료형 //Java에서 제공해주는 자료형(예:String) //우리가 직접 만든 클래스 자료형 객체명 = new 자료형( ); //생성자호출문 |
Ex07
public class Ex07Class { int x; int y; public void setX(int new_x) { x=new_x; } public void setY(int new_y) { y=new_y; } public int getX( ) { return x; } public int getY( ) { return y ; } } |
|
public class Ex07Main { public static void main(String[] args) { Ex07Class e7c = new Ex07Class(); // e7c.x = 10; e7c.setX(10); //e7c.x => 10으로 변경됨. // e7c.x = 20; e7c.setY(20); //e7c.y => 20으로 변경됨. System.out.println(e7c.x); //값만 가져옴 int a = e7c.getX(); e7c.getX(); //가져옴과 동시에 } } |
728x90
반응형
'[JAVA]' 카테고리의 다른 글
[20231219] 7일차 오후 (0) | 2023.12.19 |
---|---|
[20231219] 7일차 오전 Constructor (0) | 2023.12.19 |
[20231218] 6일차 오전 - 메소드 절대값 오버로딩 (0) | 2023.12.18 |
[20231215] 5일차 오후 배열 (0) | 2023.12.15 |
[20231215] 5일차 오전 반복문 배열 (0) | 2023.12.15 |