본문 바로가기
낙서장/JAVA

클래스

by "뭉치" 2021. 8. 8.
728x90
//클래스 생성
public class MyClass1 {
 //필드는 항상 클래스 밑에 넣어야 한다. 주소 이름 연락처 public
 //private 와의 차이점 확인
 //1.클래스가 살아있는한 계속 살아 있는 것.
 public String name;
 public String address;
 private String phone;
 
 //생성자 생성 (클래스 명과 같아야 한다.)
 public MyClass1() {
  System.out.println("매게변수가 없는 생성자 입니다.");
  
 
 }
 //매개변수를 하나 만든 생성자 생성
 public MyClass1(String name){
  System.out.println("String type 매게변수 :"+name);
 }
 //메서드(함수) 선언
 //함수는 private로 정의 , 메소드는 public로 정의
 //외부로 부터 이름을 클래스 내부로 전달
 
 //1.이 setName클래스를 벗어나면 사라지는 name
 //1)반환값 x, 매개변수 o
 public void setName(String name){
//접근권한 /반환값(void는 없다 라는 뜻 마음대로 하라.)/ 매게변수
  //굉장히 심오한 의미를 가지는 문장.
  //this.은 자기 자신이 가진 맴버를 뜻함.
  //this는 위의 필드의 name을 호출하여 name에 대입을 한다.
  this.name = name;
 }
 
 // 내부의 이름 값을 외부로 전달 하는 메소드
 //반환해야 하는 값이 위의 String이기 때문에 반환값은!
 //2)반환값 o, 매게변수 x
 public String getName() {
  
  //이 클래스의 String을 반환하기 위해서 return 을 사용해야 한다.굳이 this.name 사용할 필요 없이 name만
  //return 해도 되지만, 고수들은 그것을 싫어한다.
  return this.name;
 }
 
 //3) 반환값 x, 매개변수 x
 public void setInit() {
  //모든걸 클리어 해 주는 메소드
  this.name = "";
  this.address = "";
  this.phone = "";
 }
 
 //4) 반환값 o, 매개변수 o
 public String setData(String n, String a, String p){
  this.name = n;
  this.address = a;
  this.phone = p;
  
  return "success";
 }
 
 public static void main(String[] args) {
  MyClass1 m1=new MyClass1();
  MyClass1 m2=new MyClass1("이정한");
  
  // int a;
  // a = 100; 과 같은 것이다.
  //보안이 0이다. 이렇게는 사용하지 않는다.
//  m1.name = "이정한";
//  m1.address = "불광동";
//  m1.phone = "010-6351-0000";
//  
//  System.out.println("name="+m1.name);
//  System.out.println("address="+m1.address);
//  System.out.println("phone="+m1.phone);
  
  System.out.println("before: "+m1.getName());
  //생성한 메소드 호출 방법
  m1.setName("홍길동");
  System.out.println("after : "+m1.getName());
  
  //3)메소드를 사용하는 방법  - 간단하다.
  m1.setInit(); //은익화 (라이브러리를 가져다 쓰는 것을 말하는것 같다.)
  String result = m1.setData("박원기", "서울", "010-6351-0000");
  System.out.println(result);
  
  
  
//  //Jframe을 띄워보자.
//  javax.swing.JFrame j = new javax.swing.JFrame();
//  j.setBounds(100, 100, 200, 200);//x,y,넓이,높이
//  j.setVisible(true);//참이면 보이고 거짓이면 감춘다.
 }

}
728x90

'낙서장 > JAVA' 카테고리의 다른 글

배열  (0) 2021.08.08
String / StringBuffer  (0) 2021.08.08
맴버들의 대한 구조  (0) 2021.08.08
while문  (0) 2021.08.08
자바 구구단 출력해보기  (0) 2021.08.08

댓글