분류 전체보기 (260) 썸네일형 리스트형 생활코딩 자바 - API API와 API 문서 보는 법 기본 패키지와 사용자 정의 로직 System.out.println(1); => System : 클래스(앞 문자 대문자화), out : 클래스의 멤버변수/필드/객체, println : 메소드 => out => System을 인스턴스화 하지 않았지만 접근 가능하므로 static 이때 System 클래스는 자바가 기본적으로 import 하는 패키지에 속함 (명시하자면 imprt java.lang.*) API : 자바 시스템 제어 위해 자바에서 제공하는 명령어 API 문서 (docs.oracle.com/javase/ => API Documentation) : API 목록과 사용법이 체계적으로 정리된 문서 UI(User Interface)와 API(Application Program.. 생활코딩 자바 - 패키지 ?? 패키지의 개념 : 하나의 클래스 안에서 같은 이름의 클래스들을 이용하기 위한 방법 이름의 충돌 방지함 디렉토리와 비슷 (a.txt가 두개 공존하려면 b폴더/c폴더에 각각 같은 이름으로 존재할 수 있음) 패키지 사용 package org.opentutorials.javatutorials.packages.example2; public class B { public static void main(String[] args) { A a = new A(); => 오류 } } => example1 패키지에 A, B 클래스 / example2 패키지에 B, C 클래스 => 같은 패키지에 있는 클래스만 로드 가능하므로 A는 따로 import해야 함 (import org.opentutorials.javatutorials... 생활코딩 자바 - 클래스패스 ?? 클래스가 위치하는 경로를 지정하는 것 컴파일과 클래스 명령프롬프트 창 이용 경로 ~~~ javac ClasspathDemo.java => java를 컴파일(컴퓨터가 이해할 수 있는 언어로 변경)하면서 파일 안 item, classpathdemo 클래스가 item.class, classpathdemo.class 파일로 각각 생성됨 클래스와 경로의 관계 ClasspathDemo2.java class Item2{ public void print() { System.out.println("hello world"); } } class ClasspathDemo2 { public static void main (String[] args) { Item2 i1 = new Item2(); i1.print(); } } =>.. 생활코딩 자바 - overloading overloading 같은 이름이지만 서로 다른 매개변수의 형식을 갖고 있는 메소드를 여러 개 정의 class Calculator{ int left, right; int third = 0; public void setOprands(int left, int right) { System.out.println("setOprands(int left, int right)"); this.left = left; this.right = right;} public void setOprands(int left, int right, int third) { System.out.println("setOprands(int left, int right, int third)"); this.left = left; this.right .. 생활코딩 자바 - overriding ?? : 부모클래스의 메소드를 상속받으면서 그 메소드를 그대로 쓰지 않고 재정의하여 기능 변경하는 것 =덮어쓰기 class Calculator { int left, right; public void setOprands(int left, int right) { this.left = left; this.right = right; } public void sum() { System.out.println(this.left + this.right); } public void avg() { System.out.println((this.left + this.right)/2); } } class SubCalculator extends Calculator { public void sum() { System.out.printl.. 생활코딩 자바 - 상속과 생성자 ?? public class ConstructorDemo { => 생성자 없음 -> 자바가 자동으로 기본 생성자(클래스의 이름과 같고 매개변수 없는 메소드) 만들어줌 public static void main(String[] args) { ConstructorDemo c = new ConstructorDemo(); } } => ConstructorDemo 객체 생성할 때 자동으로 생성자를 만들어줘서 에러 X public class ConstructorDemo { public ConstructorDemo(int para1) {} => 생성자에 매개변수 있음-> 자바가 자동으로 기본 생성자를 만들어주지 않음 public static void main(String[] args) { ConstructorDemo c .. 생활코딩 자바 - 상속 상속의 개념 - 객체의 필드(변수)와 메소드를 다른 객체가 물려받는 기능 - 새로운 변수/메소드 추가 또는 변경 가능 - 기존 객체 유지하면서 기능 추가 - 부모 객체 - 자식 객체 /상위 클래스 - 하위 클래스 / 기초 클래스 - 유도 클래스 class Calculator { int left, right; public void setOprands(int left, int right) { this.left = left; this.right = right; } public void sum() { System.out.println(this.left + this.right); } public void avg() { System.out.println((this.left + this.right)/2); } } c.. 생활코딩 자바 - 생성자 Calculator c1 = new Calculator(); c1.setOprands(10,20); => 실수로 해당 행 빼면 객체 실행 X (절차가 복잡해 실수 일으킬 수 있음) c1.sum(); c1.avg(); =>생성자 사용=> Calculator c1 = new Calculator(10,20); c1.sum(); c1.avg(); 생성자(초기화 기능) : 별도 생성자 메소드 생성-> 숙지, 암기해야 하는 절차를 넣어둬 필수사항 놓치지 않게 함 class Calculator { int left, right; public Calculator(int left, int right) { => 클래스와 똑같은 이름의 메소드 => 생성자(Constructor) : 1순위로 실행(=초기화)되는 메소드 this.. 생활코딩 자바 - 유효범위 int left; => 변수의 이름 public void sum(); => 메소드의 이름 프로그램이 커지면 이러한 이름들이 충돌하게 됨 (중복될 수도) -> 해결 위해 유효범위(scope) 고안됨 유효범위 static void a() { int i = 0; => 메소드 a 안에서 i 가 선언되므로 a 밖에선 영향 X (a 메소드 안에서만 유효함) => 유효범위 } public static void main(String[] args) { for (int i = 0; i 디렉토리 내에서만 파일명 안 겹치게 하고, 밖에서는 중복되도 문제 없도록 함 public class ScopeDemo2 { static int i; => 클래스 바로 밑에서 선언되는 직속 변수 => 전역변수(global variables) .. 생활코딩 자바 - 클래스 멤버, 인스턴스 멤버 멤버 : 구성원 객체 - 변수, 메소드 class Calculator { static double PI = 3.14 ; int left, right; public void setOprands(int left, int right) { this.left = left; this.right = right; } public void sum() { System.out.println(this.left + this.right); } public void avg() { System.out.println((this.left + this.right)/2); } } public class CalculatorDemo1 { public static void main(String[] args) { Calculator c1 = ne.. 이전 1 ··· 20 21 22 23 24 25 26 다음