본문 바로가기

분류 전체보기

(260)
220419 - OT 및 개발 환경 구축 본체 모니터 키보드(입력장치) 프로그래밍 언어 -> 컴파일러 -> 기계어 ansi 협회 => ascii 코드 표준화 2진수 100001 = 1*2^6 + 1*2^0 10진수 376 = 3*10^2 + 7*10^1 + 1*10^0 Alt 키+ 65 => A 객체 각각의 다른 객체들이 연관되어 있음 한 객체 에러 시 전체가 아닌 해당 객체만 수정하면 됨 자바 public class Hello { //클래스 이름은 가독성 있게 public static void main(String[] args) { //main : 메소드(객체가 하는 일) 이름 //콘솔에 출력하는 실행문 => // : 주석 (컴파일 X, 무시됨) System.out.println("안녕하세요"); //println : 출력 & 줄바꿈 / 코드..
생활코딩 자바 - 참조 ? 복제란 new 통해 데이터타입 생성 => 참조형 데이터타입 public class ReferenceDemo1 { public static void runValue() { int a=1; //1을 변수 a에 담음 int b =a; //a의 값 1을 변수 b에 담음 b=2; System.out.println("runValue, "+a); }} // runValue, 1 참조란 class A{ public int id; A(int id){ this.id = id; } } public class ReferenceDemo1 { public static void runValue() { int a = 1; int b = a; b= 2; // 1을 int a에 담음 -> 1을 복제해(결국 각각 다른 1의 값) b에 담..
생활코딩 자바 - 상수2 - enum 복습 상수 : 변하지 않는 값 int x = 1; 1 = 2; 주석 필요한 코드 public class ConstantDemo { public static void main(String[] args) { /* * 1. 사과 * 2. 복숭아 * 3. 바나나 */ int type = 1; //이 코드는 왜 필요한 건지 이해가 잘 안된다... 점점 놓치는게 많아지는듯 ㅠ 얼른 2회독 하고 싶다 switch(type){ case 1: System.out.println(57); break; case 2: System.out.println(34); break; case 3: System.out.println(93); break; } 주석 불필요 (final 사용) public class ConstantDemo { ..
생활코딩 자바 - Object 클래스 소개 상속 class O {} => class O extends class Object{} 와 의미 동일 => 자바에서 모든 클래스는 암시적으로 class Object 상속 => 오브젝트 클래스는 모든 클래스가 기본적으로 포함해야할 기능 제공 https://docs.oracle.com/javase/7/docs/api/index.html 참고 toString Object class 의 대표적 메소드 : 객체를 문자화 CalculatorDemo public class CalculatorDemo { public static void main(String[] args) { Calculator c1 = new Calculator(); c1.setOprands(10, 0); c1.divide(); System.ou..
생활코딩 자바 - 예외 낙법 / 덜 실패하는 법 예외란 오류 처리 위한 방법 class Calculator{ int left, right; public void setOprands(int left, int right){ this.left = left; this.right = right; } public void divide(){ System.out.print("계산결과는 "); System.out.print(this.left/this.right); System.out.print(" 입니다."); } } public class CalculatorDemo { public static void main(String[] args) { Calculator c1 = new Calculator(); c1.setOprands(10, 0); ..
생활코딩 자바 - 다형성 : 하나의 메소드나 클래스가 다양한 방법으로 동작하는 것 ex. 키보드 키 : 누르는 조작방법은 일치하지만 esc, enter 의 동작방법은 다름 메소드와 다형성 오버로딩 예시 class O{ public void a(int param) { System.out.println("숫자출력"); System.out.println(param); } public void a(String param) { System.out.println("문자출력"); System.out.println(param); } } public class PolymorphismOverloading { public static void main(String[] args) { O o = new O(); o.a(1); o.a("one"); } ..
생활코딩 자바 - 인터페이스 문법, 개념 abstract, final과 함께 대표적인 규제 객체가 특정 인터페이스 사용하는 경우 반드시 인터페이스의 메소드들 구현해야 함 (인터페이스가 강제하는 메소드 구현하지 않으면 컴파일도 안됨) interface I { public void z(); } class A implements I { public void z() {} => 인터페이스 구현함 } 실질적 쓰임 인터페이스 필요한 사례 개발자 B : 더미클래스 생성 (A가 Calculator 클래스 작업 중, B가 해당 클래스 사용하는 로직 만듦) class CalculatorDummy{ => 가짜/모조/더미 클래스 public void setOprands(int first, int second, int third){} public int s..
생활코딩 자바 - final : 상속/변경을 금지하는 규제 final 필드 final로 지정된 변수는 값 변경 불가 class Calculator { static final double PI = 3.14; =>고정값, 변하지 않는 상수 지정 int left, right; public void setoprands (int left, int right) { this.left = left; this.right = right;} //Calculator.PI = 6; =>이미 지정된 값이므로 변경 불가 public void sum() { System.out.println(this.left +this.right); } public void avg() { System.out.println((this.left+this.right)/2); } } ..
생활코딩 자바 - abstract : 상속 클래스를 만들어, 그 클래스를 사용하도록 강제함 문법 상속 클래스 없을 때 오류 abstract class A{ public abstract int b(); public void d() { System.out.println("world"); } } public class AbstractDemo { public static void main(String[] args) { A obj = new A(); } } 상속 but 메소드 오버라이딩 x abstract class A{ public abstract int b(); => 메소드의 구체적 로직을 담는 본체 없고, 메소드에 대한 시그니처만 갖고 있는 추상적인 모습 => 반드시 메소드를 오버라이딩해야 함 public void d() { System.o..
생활코딩 자바 - 접근제어자 객체 안 메소드나 변수를 사용하는 권한에 차등을 주는 것 (클래스멤버의 접근제어자) 문법 class A { public String y() { //어디서든지 메소드 호출 가능 return "public void y()"; } private String z() { //클래스 밖에서 사용 불가능, 같은 클래스에서만 사용 가능 (ex. AccessDemo1) return "public void z()"; } public String x() { return z(); //x를 호출해 z를 다른 클래스에서 간접 호출은 가능 } } public class AccessDemo1 { public static void main(String[] args) { A a = new A(); System.out.println(a...