본문 바로가기

분류 전체보기

(71)
[JAVA]DAY12_접근 권한 제어자 접근 권한 제어자 default : 다른 패키지에서 접근할 수 없다. 자식도 불가능. public : 모든 곳에서 접근할 수 있다. protected : 다른 패키지에서 접근할 수 없다. 단, 자식은 가능. private : 다른 클래스에서 접근할 수 없다. private의 경우, set으로도 초기화 가능 - 외부에서는 접근 불가능 경고는 받지만 다른 클래스에서 접근할 수 있게 만드는 것 (getter setter) alt +shift + s + r 아무 지정 안할 경우, 디폴트 public과 protected의 차이 : 패키지가 다르면 protected는 사용할 수 없다. ,디폴트도 다른 패키지에서 접근하면 사용x public은 같은 프로젝트 안에 있으면 사용 가능 기본 생성자를 호출했을 때 ( ()안..
[JAVA]DAY11_상속 상속(inheritance) : 재사용 1. 새롭게 만들 클래스에서 기존에 사용 중인 클래스의 필드를 사용하고자 한다면, 상속을 받아서 자신의 것처럼 사용한다. 2. 여러개의 클래스를 선언할 때 겹치는 필드가 있다면 부모 클래스를 먼저 선언한 후 공통 요소들을 상속받아 사용한다. 상속 선언 class A{ A필드 } class B extends A{ A, B필드 } A : 부모 클래스, 상위 클래스, 슈퍼 클래스, 기반 클래스 B : 자식 클래스, 하위 클래스, 서브 클래스, 파생 클래스 생성자 자식 객체에서 부모 필드에 접근하기 위해서는 메모리에 부모 필드를 할당해야한다. 자식 생성자 호출 시 부모 생성자가 먼저 호출되고, 그 다음 자식 생성자가 호출된다. 따라서 자식 객체에서 부모필드에 접근할 수 있..
[JAVA]DAY10_클래스 배열 클래스 배열 선언 - 클래스명[] 배열명 = {new 생성자(), new 생성자(), ...}; - 클래스명[] 배열명 = new 클래스명[칸수]; 사용 - 배열명[index].필드명; 예제 문제 버스(버스번호) 정류장이 5개가 있고, 정방향으로만 갈 수 있다. 정류장 한 개당 1초가 걸리고 출발지는 랜덤이다. 출발지는 마지막 정류장이 될 수 없고 도착지는 출발지보다 앞에 있는 정류장을 선택할 수 없다. 교통비는 1250원이다. 경로를 각각 출력한다. 출력 예) 서초>교대>강남>도착 지하철(호선) 정류장이 7개가 있고, 역방향도 갈 수 있다. 정류장 한 개당 2초가 걸리고 출발지는 랜덤이다. 교통비는 1250원이다. 경로를 각각 출력한다. 출력 예) 강남 >교대>서초>도착 출력 예) 서초 >교대>강남>도..
[JAVA]DAY9_클래스 클래스 : 공통 요소들이 모여 있는 곳 1. 주어이다. Monkey.eat("바나나") 원숭이가 먹는다 바나나를 [주어] [동사] [목적어] 문장 맨 앞에 클래스가 나오기 때문에 클래스 앞 글자는 대문자로 작성한다. 2. 타입이다. 공통된 요소들을 반복해서 선언하는 것은 비효율적이다. 따라서 클래스내에서 공통요소를 한 번 선언하고, 해당 클래스를 구체화시킨 객체로 접근한다. 이 공통요소들을 필드라 하고 필드에 접근하기 위해서는 객체의 타입이 해당 클래스의 타입이여야 한다. 공통요소들을 묶어놓고 이름을 정할 때에는 추상적인 이름으로 정해야 하며, 추상적인 개념으로 필드에 접근할 수 없기 때문에 구체화된 객체를 만들어서 필드에 접근해야 한다. 예를 들어 도형은 추상적이므로 클래스이고, 세모는 도형 클래스를 ..
[WEB]DAY7_메소드 메소드 : 메소드는 중괄호 안에 작성한 코드들의 주소값을 저장하는 저장공간이다. 이름() 단, 키워드()는 메소드가 아니다!! (검은색글씨면 메소드, 다른 색이면 키워드) f (x) = 2x + 1 메소드명 매개변수 리턴값 메소드 선언 (1)리턴타입 (2)메소드명(자료형 (3)매개변수, ...){ (4)실행할 문장; (5)return 리턴값; } *내부 : 선언부 *외부 : 사용부 (1) 리턴값의 타입을 작성한다. 만약 리턴이 없다면 비워놓지 않고 void를 작성한다. (2) 동사로 작석한다(연필(매개변수)을 쓴다(메소드)). (3) 생략이 가능하고 필요에 따라 여러 개 작성할 수 있다. 만약 매개변수가 없다면 외부에서 값을 전달 받을 수 없다. (4) 생략이 가능하다. (5) 생략이 가능하다. 메소드 ..
[WEB]DAY6_2차원 배열 2차원 배열 : 배열 안에 배열이 있는 것 한 번 접근하면 1차원 배열 두 번 접근하면 값! 따라서 대괄호도 2개이며, 첫번째 접근하는 대괄호가 행이고, 두번째 접근하는 대괄호가 열이다. 2차원 배열 선언 자료형[][] 배열명 = {{값1, 값2,..},{값3, 값4...},...}; ( 자료형 배열명[][] = {{값1, 값2,..},{값3, 값4...},...};도 가능. ) 자료형[][] 배열명 = new 자료형[행][열]; □ (arrData) □□ *(arrData + 행) = arrData[행] □□□ □□□ *(*(arrData + 행) + 열) = arrData[행][열] * 3차원 배열부터는 메모리 낭비가 심해서 잘 사용하지x - 정방 배열 : 각 행의 열갯수가 모두 같은 배열 - 비정방..
[WEB]DAY5_배열 제어문을 이용한 CoinBox 만들기 package day05; import java.util.Random; import javax.swing.JOptionPane; import javax.swing.event.TreeWillExpandListener; public class CoinBox { public static void main(String[] args) { // 1. 돈 넣기 // 2. 노래재생 // 선택 // 1. 500(2곡) // 2. 1000(5곡) // 100점이면 한 곡 보너스 // 노래는 3초간 재생된다. String title = "코인 노래방[코인 : "; String msg = "1. 돈넣기\n2. 노래 재생\n3. 나가기"; String input_msg = "1. 500원(..
[WEB]DAY4_제어문 (조건문 : if문, switch문), (반복문 : for문, while문, do while문), 연산자 제어문 1. 조건문 삼항연산자는 속도가 더 빠르지만 메모리를 더 많이 잡아먹는다. if문은 속도는 느리지만 메모리를 덜 잡아먹는다. (3~4개의 조건식을 사용할 때에는 삼항연사자가 빠르지만 그 이상은 if문이 더 낫다.) ① if문 if(조건식){ 실행할 문장 } 위에 있는 조건식과 상관없이 모두 검사. if(조건식){ 실행할 문장 } if(조건식){ 실행할 문장 } if(조건식){ 실행할 문장 } 위의 있는 조건식이 거짓이면 내려와서 검사, 참이면 검사 안함. else if(조건식){ 실행할 문장 } else{ 실행할 문장 } Quiz (if문 사용해서 출력) package day04; import java.util.Scanner; public class Quiz { public static void ..