정보보안공부
Java_day09_클래스 본문
*** 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 |