예제)
Member 클래스
package test;
public class Member {
// 클래스 Member
// 멤버변수 private id pass name
// 메서드 set, get
private String id;
private String pass;
private String name;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getPass() {
return pass;
}
public void setPass(String pass) {
this.pass = pass;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
MemberDAO 클래스
package test;
public class MemberDAO {
// 클래스 MemberDAO
// 메서드 정의 리턴할 형 없음 insertMember(Member member)
// 메서드 안에는 출력 아이디 : 비밀번호 : 이름 :
public void insertMember(Member member) {
System.out.println("아이디 : " + member.getId());
System.out.println("비밀번호 : " + member.getPass());
System.out.println("이름 : " + member.getName());
}
}
package test;
public class Test1 {
public static void main(String[] args) {
// Member 객체생성
// set메서드 통해서 값을 저장
Member m = new Member();
m.setId("hello");
m.setPass("1234");
m.setName("홍길동");
// MemberDAO 객체생성
// insertMEmber 메서드 호출 (member정보를 들고감)
MemberDAO d = new MemberDAO();
d.insertMember(m);
}
}
[출력]
아이디 : hello
비밀번호 : 1234
이름 : 홍길동
자바가 실행할 때(객체 생성 없이) main 찾아서 메서드 호출
public static int num;
public static 리턴할형 메서드명(){}
예제)
Student 클래스
package test;
public class Student {
// 멤버변수
// static 변수(클래스 변수) : 객체생성없이 사용
public static int num;
// 인스턴스 멤버변수 : 객체생성하고 사용
// 기억장소를 공통으로 사용
public String name;
public int grade;
// 메서드()
// static 메서드(), 클래스 메서드() : 객체생성없이 사용
public static void sprn() {
System.out.println("static num : " + num);
// name, grade 사용하면 에러 발생
}
// 인스턴스 메서드() : 객체생성 하고 사용
public void prn() {
System.out.println("static num : " + num);
System.out.println("name : " + name);
System.out.println("grade : " + grade);
}
}
package test;
public class Test2 {
// 자바가 실행할 때(객체 생성 없이) main 찾아서 메서드 호출
public static void main(String[] args) {
Student.num=1;
Student.sprn();
System.out.println("===============");
Student s = new Student();
s.num++;
s.sprn();
System.out.println("===============");
s.name="홍길동";
s.grade=3;
s.prn();
System.out.println("===============");
Student s2 = new Student();
s2.num++;
s2.name="이길동";
s2.grade=6;
s2.prn();
System.out.println("===============");
// Math 내장클래스 static 메서드 max(10,20)
System.out.println("최대값:"+Math.max(20, 10));
}
}
[출력]
static num : 1
===============
static num : 2
===============
static num : 2
name : 홍길동
grade : 3
===============
static num : 3
name : 이길동
grade : 6
===============
최대값:20
메서드 내에서 정의하고 사용
메서드 밖에서는 사용 못함
int a = 10;
int a = 10;
int b = 20;
System.out.println(a+b);
클래스 안에 변수(인스턴스 변수)
객체를 생성 해야지만 사용할 수 있는 변수
new Student()
Student s = new Student();
System.out.println(s);
System.out.println(s.name);
System.out.println(s.grade);
사용자가 프로그램을 실행하면 메모리에 상주
인스턴스 변수 new 객체생성 되어짐
System.out.println(Student.num);
예제)
package test;
public class Board {
// Board 클래스
// static 멤버변수 int num
// 멤버변수 String name, String subject
// 기본생성자 num 변수 1씩 증가
// set get 메서드
private static int num;
private String name;
private String subject;
private String content;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getSubject() {
return subject;
}
public void setSubject(String subject) {
this.subject = subject;
}
public String getContent() {
return content;
}
public void setContent(String content) {
this.content = content;
}
public Board() {
num++;
}
}
package test;
public class BoardDAO {
// BoardDAO 클래스
// 메서드 리턴없음 insertBoard(Board board)
// 출력 num name subject content
public void insertBoard(Board board) {
System.out.println("번호 : "+ board.getNum);
System.out.println("이름 : "+ board.getName());
System.out.println("제목 : " + board.getSubject());
System.out.println("내용 : " + board.getContent());
}
}
package test;
public class Test4 {
public static void main(String[] args) {
// Board 클래스 객체 생성
// set name, subject, content 값을 저장
// BoardDAO 클래스 객체생성
// insertBoard() 메서드 호출
Board b = new Board();
b.setName("홍길동");
b.setSubject("안녕하세요");
b.setContent("반갑습니다");
BoardDAO d = new BoardDAO();
d.insertBoard(b);
System.out.println("================");
Board b2 = new Board();
b2.setName("김길동");
b2.setSubject("안녕하세요");
b2.setContent("반갑습니다");
d.insertBoard(b2);
}
}
[출력]
번호 : 1
이름 : 홍길동
제목 : 안녕하세요
내용 : 반갑습니다
================
번호 : 2
이름 : 김길동
제목 : 안녕하세요
내용 : 반갑습니다