본문 바로가기

java

(53)
Step05_constructor(접근지정자와 다수의 클래스 연결하기) 접근지정자(AccessModifier) 접근지정자 동일 클래스 동일 패키지 다른 패키지의 자식 클래스 다른 패키지 public o o o o protected o o o x default o o x x private o x x x 접근 지정자 접근범위 public : 어디에서나 접근 가능 protected : 동일한 package 혹은 상속관계에서 접근 가능 default : 동일한 package 안에서만 접근 가능 private : 동일한 클래스 혹은 동일한 객체 안에서만 접근 가능 접근 지정자를 붙이는 위치 1. 클래스를 선언할때 2. 생성자 3. 필드 4. 메소드 클래스는 default 와 public 두가지의 접근 지정자만 지정 가능하다. 접근 지정자를 생략한 것이 default 접근 지정자다 M..
Step05_Constructor(생성자) 생성자 1. 생성자는 클래스명과 동일하다. 2. 메소드 모양과 유사하지만 리턴 type이 없다. 3. 객체를 생성할때 (new 할때) 호출된다. 4. 객체를 생성하는 시점에 무언가 준비 작업을 할때 유용하다. 5. 생성자를 명시적으로 정의하지 않아도 기본 생성자는 있다고 간주된다. MainClass01, Student (생성자 호출하기) 생성자 만들고 호출하는 코드이다. 클래스명과 같으며 메소드와 다르게 리턴 type을 표시하지 않았고 new할때 호출되는 것을 알 수 있다. MainClass02, Member (생성자 사용하기) 필드에 num, name, addr 의 data type과 초기값을 정의해두었다.(초기값은 생략가능해서 생략했다.) 이후 생성자를 작성했다. 하나의 생성자를 여러 형태로 만들어 ..
Step04_Method(메소드 인자 전달하기) MainClass04.java, MyObject.java (메소드 인자 전달하기) MyObject 에서 인자로 전달 받을 type을 각각 int, String으로 작성했기 때문에 MainClass04에서도 type에 맞게 각각 999, "kim"을 넣어 작성했다. MainClass04.java, MyObject.java, Radio.java (다수의 클래스를 활용해서 인자 전달하기) useRadio예제에 초점을 맞춰서 보면 될 것 같다. 공부하기 위해서 Radio.java가 public이 아니라는 가정하에 여러 클래스를 연결시켜 예제를 풀었다. MyObject obj=new MyObject(); 를 이전 예제에서 작성해놨기 때문에 재활용했다. MyObject.java에서 작성했듯이 Radio type을 ..
Step04_Method(return type, 다수의 클래스 연결법, JFrame, JButton) MainClass01.java, MyObject.java (void와 return type) obj.walk();는 walk가 void type 메소드기 때문에 return type이 없어서 코드를 작성하지 않는다. getNumber, getGreeting 메소드들은 해당 return 값에 따라 return type을 작성해야한다. MainClass02.java, Car.java, MyObject.java (다수의 클래스 연결법) 이번 예제는 두가지 class를 import 했다. import 하는 구간에서 알 수 있듯이 Car.java와 MyObject.java, 두가지 class는 test.mypac이라는 같은 패키지 안에 속해있다. 물론 Car.java만 사용하더라도 충분히 코드를 작성할 수 있지만..
Step03_Class(static, this, Random(), Scanner()) next() 띄어쓰기를 기준으로 문자열을 입력을 받는다. nextLine() 한 줄(개행문자,엔터)을 기준으로 입력을 받는다. nextInt() 띄어쓰기를 기준으로 int값을 읽어온다. MainClass05 (static과 this) 위의 잘못된 예시에서 static 메서드이기 때문에 this를 사용할 수 없어 오류가 뜬다. 이 경우에 num코드 역시 static으로 변경하고 this 대신 class명을 입력해서 오류를 해결하는 방법이 있다. MainClass06 (System.out 변수에 담기) 앞서 MainClass04를 공부할때 사이트를 참고해서 알 수 있듯이 콘솔창에 출력해주는 역할을 하는 System.out은 PrintStream type이다. 따라서 해당부분을 지역변수에 담아 사용하는 것도 ..
Step03_Class(this, class, 객체) this 자신의 참조값을 가리키는 예약어 class 사용 1. java에서 기본으로 제공되는 클래스를 import해서 사용한다. 2. 추가로 필요한 유틸리티를 인터넷에서 다운받아 import 후 사용한다. 3. 직접 만들어서 사용한다. MainClass03.java, Member.java this를 사용해서 Member의 참조값을 가리켜서 코드를 작성했다. Memver.java에서 작성해 놓은 showInfo() 메소드를 MainClass.java에서 호출했다. run을 해서 console 창에서 잘 작동하는지 확인했다. MainClass04.java, MyUtil.java (스태틱) static 예약어를 사용하면 추후에 해당 메소드를 호출하거나 필드를 참조할때 new를 사용하지 않고 .을 찍고 바로 사..
Step03_Class(class, 메모리 영역, import) java 에서의 클래스(class) public class 클래스명{} 1. 객체의 설계도 역할 - 해당 클래스로 객체를 만들었을때(new) 어떤 field(저장소) 와 어떤 method(기능) 를 가지게 할지를 설계할 수 있다. 2. data type 역할 -지역변수나 필드를 만들때 선언하는 data type의 역할을 할 수 있다. -변수나 필드에 저장된 값의 사용 설명서에 해당된다. 3. static 필드나 static 메소드를 포함하는 역할 -필요에 따라서 객체에 필드나 메소드를 만들지 않고 클래스 자체에 만들어 놓을 수도 있다. java의 3가지 메모리 영역 static class(클래스)가 만들어지는 영역 stack local valuable(지역변수)이 만들어지는 영역 heap object(객..
Step02_Operator(연산자) 1. 산술연산자 +, -, *, /, % 2. 증감 연산자 ++, -- 3. 비교연산자 ==, !=, >, >=, =,