정보보안공부

Java_day09_클래스 본문

Language/Java

Java_day09_클래스

Steady_sp 2017. 2. 21. 18:09

*** CardInfo : 카드클래스를 만들어 이해하기

 

 

-> public class CardInfo{} 클래스 이름을 정하고 클래스의 멤버변수를 정의한다.

-> 생성자 정의 : 생성자는 초기화역할을 담당한다.

-> CardInfo c1 = new CardInfo(); 에 대한 생성자는 CardInfo() {}

-> CardInfo c3 = new CardInfo(300); 에 대한 생성자는 CardInfo(double won){}

-> 클래스의 메소드(동작,기능):printInfo() 메소드 실행 System.out.println로 출력

-> upLimit() 메소드 실행시 limitWon이 100증가

-> upLimit(double uw) 메소드 실행시 limitWon이 uw 즉 작성한 만큼 증가

-> downLimit() 메소드도 upLimit() 메소드와 같다.

-> {   company = "KB"; 
        cardnum = "9999-8888-7777-6666"; } 생성자 안에 입력해도 되고 따로 빼서 작성 할 수도 있다.

-> printValid() 메소드는 limitWon이 10 이상이면 isValid변수값이 true 10이하면 isValid변수값이 false가 된다.

*** ClassEx1 : 만든 클래스를 객체를 이용해 해당메소드 불러오기

 

-> CardInfo c1=new CardInfo();이것만 선언되면 생성자를 만들지 않아도 되지만

    CardInfo c3 = new CardInfo(300); 가 선언되면 생성자를 만들어야한다.

-> CardInfo c3 = new CardInfo(300); 인수가 1개인 생성자 실행한다.

-> c1.변수로 지정한 값은 생성자로 지정한것을 무시하고 지정한 값으로 적용된다.

-> c1.limitWon = 100이므로 c1은 100 c2는 생성자에 limitWon = 30 이므로 c2는 30

c3은 생성자를 이용해 직접300을 입력하였으므로 c3은 300이다.

-> System.out.println(c1.클래스의 변수) : 초기값을 알아볼수 있다.

-> c1.printInfo(); printInfo() c1에 대한 메소드를 실행한다.

-> c3의 limitWon은 5 이기때문에 10 이하이므로 유효하지않은 카드문장 출력

 

*** StudentScore : 학생 점수를 이용해 클래스를 이해하기

 

 

-> StudentScore의 생성자를 여러종류로 만들 수 있다. 여러종류일 경우 기본 생성자를 StudentScore()를 정의해 주어야 한다.

-> printInfo() 메소드를 이용해 원하는 문장 출력할 수 있다.

-> sum() 메소드를 이용해 총합을 구할 수 있다.

-> grade(int v)메소드를 이용해 점수를 입력받으면 해당 등급을 알 수 있다.

 

*** ScoreEx : 만든 클래스를 객체를 이용해 해당 메소드 불러오기

 

-> StudentScore s1 = new StudentScore();

-> StudentScore s2 = new StudentScore("2015002", "박찬호"); 생성자는 초기화역할

-> StudentScore s3 = new StudentScore("2015003", "박지성", 65, 98, 80);

-> StudentScore s4 = new StudentScore("2015004", "이효리");

-> s1.id = "2015001" 으로도 s1의 id를 선언할수 있다. 하지만 보통 값을줄때 이렇게 쓰지 않고 StudentScore s1 = new StudentScore();에서 ()안에 값을 입력하도록 생성자를 만든다.

-> s3.sum()은 65+98+80이므로 243이다.

-> s1.grage(s1.kor)는 s1.kor값이 89이므로 s1.grade(89)이므로 B등급임일 알 수 있다.

 

*** 참고

 

--- 클래스 이름 규칙

-> 첫 글자는 대문자로 시작한다. 둘 이상의 단어가 연결되어 있을 때는 두 번째 단어의 첫 글자도 대문자로 한다.

-> 하나의 파일에 여러 개의 클래스가 정의 될 수 있다. 이때 파일명과 동일한 public 클래스는  1개

 

--- 클래스의 구성

-> 필드 : int field Name; 객체의 데이터가 저장되는 곳

 객체의 특징과 상태에 대한 값

 초기값을 설정 할수 있다.

     초기값 없으면 기본값으로 0(정수),0.0(실수),false(boolean),null(참조변수)

-> 생성자 : ClassName() {...} 객체 생성시 초기화 역할 담당

    인스턴스를 생성할 때 호출하는 특수한 목적의 메서드

    변수를 초기화하거나 필요한 다른 객체를 생성하는 등 작업을 처리

    반드시 클래스 이름과 동일하게 작성

    모든 클래스는 생성자가 반드시 존재하며 하나 이상 정의한다.

    생성자 선언을 생략하면 컴파일러는 기본 생성자를 추가한다.

-> 메소드 : void methodName() {...} 객체의 동작에 해당하는 실행 블록

    객체의 동작(기능)

    메소드 호출하면 { }블록에 있는 모든 명령들을 실행

    메소드는 리턴값이 있을 수도 있고 없을 수도 있다

   

'Language > Java' 카테고리의 다른 글

Java_day11_클래스3_static, 접근권한  (0) 2017.02.23
Java_day10_클래스2  (0) 2017.02.22
Java_day08_배열2  (0) 2017.02.18
Java_day07_배열  (0) 2017.02.17
Java_day06_랜덤함수,String  (0) 2017.02.16
Comments