조건을 지정하고 조건이 true일 때 실행됨. false이 될 때까지 반복된다. false가 되지 않으면 무한 루프가 발생한다.
while(조건) {반복할 코드}
public class HowToUseWhile { //class 선언하기
public static void main(String[] args) {
//psvm이라고 외워두기 .메인메소드 실행문
int a=1;
}
}
제어문을 강제로 종료시킴 or 종결을 나타냄
continu밑에 기술한 코드는 실행되지 않고 다시 제어문의 선언부로 돌아간다.
public class BreakandContinue { //클래스
public static void main(String[] args) { //psvm
for(int i = 1; i<10 ; i++) { //i값 선언, i 범위(얼마나 반복할지), 증감
System.out.println(i);
if (i=5) {//여기서 if는 for문 안에 속한 for의 조건문. i를 반복해서 출력하기는 하는데, 얼마나 출력할거임
break;
}
}
}
}//클래스
//홀수 출력하기
package ch04;
class BreakandContinue {
public static void main(String[] args) { //메인 메소드
for (int i =1; i<50; i++) {
if(i%2= 0 )
continue; //2로 나누어서 떨어지는(짝수이면 )
System.out.println(i); //System.out.println(i)
//그런데 continue이하의 코드는 실행이 안되므로 짝수는 출력이 안된다. 그리고 홀수만 출력이 되게 됨
}
}
}
객체 지향 프로그래밍
자동차가 있을 때 자동차의 바퀴, 엔진, 미션, 브레이크, 점화 플러그 등의 구성품을 객체라고 할 수 있음
객체 선언하고 생성하는 방법
Object o = new Object();
Object : 객체가 포함될 클래스 이름
o : 객체 이름
new : 그 클래스에 포함될 새로운~
Object : 클래스 이름
//클래스 선언
class 클래스 이름 {}
//상속
클래스와 클래스 간에 상속을 받기. 상속을 해주는 클래스를 부모 클래스라고 하고 상속을 받는 클래스를 자식 클래스라고 함.
자식 클래스 extends 부모클래스
public class ChildClass extends ParentsClass{}
//클래스 상속이 어떻게 이루어지는 지 살펴보기
myapp 프로젝트 -> 오른쪽 마우스 -> 새로 작성 -> 패키지에서 out패키지를 생성하고 해당패키지에 parent클래스를 생성하기 = 부모 클래스 작성
package out;
public class Parents {
public String parent = “부모 클래스의 변수입니다. ”;
}
Parents{}를 자식 클래스인 Child에서 상속받음
ch4패키지에 Childjava클래스 를 생성하기
package ch04;
import out.Parents; //import out.class; 는
public class Child extends Parents{
public static void main(String[] args) {
Parents p = new Parents(); //Parents 클래스에 새로운 객체(지역변수라고 보면 됨)p을 생성해준 뒤,
System.out.println(p.parent); //p는 부모클래스의 변수인 parent를 참조(물려받음)한다.
}
}
//생성자
클래스가 메모리상에 객체를 생성시켰을 떄 가장 먼저 수행할 작업을 기술하는 메소드
생성자는 클래스와 같은 이름을 가지며 리턴 값을 반환할 필요가 없다.
구조
public 클래스와 동일한 이름{} = class는 쓰지 않음
예시
package ch04;
public class Constructor() {
public Constructor() { //클래스와 같은 이름을 가지는 생성자를 선언함
int a = 1; //생성자 내부에 변수 a를 선언하고 그 값을 출력하는 코드를 작성함
System.out.println(a);
}
public static void main(String[] args){
new Constructor();
}
}
//new Constructor();를 통해 객체를 생성하고 객체가 생성되면 자동으로 생성자를 호출하고 생성자에 기술된 변수 a값을 출력한다.
잘 이해가 안된다 ㅠㅠ
멤버 변수
클래스에 속한 변수.
클래스에서 선언한 멤버 변수와 같은 이름으로 지역변수를 선언할 수 있다. 하지만, 이 같은 이름을 가졌다 하더라도 둘은 전혀 상관없다.
예시
package ch04;
public class Member {
String m;
String m1= “멤버 변수입니다. ”; //class 안에 속해 있기 때문에 멤버 변수
public Member {
string m = “지역 변수입니다.”;
system.out.println(m);
//public class Member class가 없기 때문에 생성자라고 보면 된다. 그리고 생성자 안에서 선언되는 변수는 지역변수라고 한다.
}
public static void main(String[] args) {
Member member = new Member();
System.out.println(“초기화하지 않은 멤버변수 : ” + member.m);
System.out.println(“초기화된 멤버변수 : ” + member.m1);
}
}
접근 제어자
클래스와 클래스 간 또는 패키지와 패키지 간의 접근 권한을 지정하는 예약어