Java/Basic
-
[Java_Basic]배열(윤성우의 열혈 Java 프로그래밍)Java/Basic 2021. 1. 2. 11:57
배열 자료형이 같은 둘 이상의 값 1차원 배열 생성 방법 int[] ref = new int[5]; int[] ref -> int형 1차원 배열 인스턴스를 참조할 수 있는 '참조변수의 선언' new int[5] -> int형 값 5개를 저장할 수 있는 '배열 인스턴스의 생성' class ArrayIsInstance{ public static void main(String[] args){ //길이가 5인 int형 1차원 배열의 생성 int[] ar1 = new int[5]; //길이가 7인 double형 1차원 배열의 생성 double[] ar2 = new double[7]; //배열의 참조변수와 인스턴스 생성 분리 float[] ar3; ar3 = new float[9]; //배열의 인스턴스 변수 접근 ..
-
[Java_Basic]콘솔 입력과 출력(윤성우의 열혈 Java 프로그래밍)Java/Basic 2021. 1. 2. 09:16
System.out.println & System.out.print System.out.println : 행을 바꾼다. System.out.print : 행을 바꾸지 않는다. class Box{ private String conts; Box(String cont){ this.conts = cont; } public String toString(){ return conts;//문자열 반환 } } class AutoCallToString{ public static void main(String[] args){ StringBuilder stb = new StringBuilder("12"); stb.append(34); System.out.println(stb.toString()); System.out.prin..
-
[Java_Basic]메소드의 오버로딩과 String 클래스(윤성우의 열혈 Java 프로그래밍)Java/Basic 2021. 1. 2. 04:59
메소드 오버로딩 메소드의 이름이 같아도 매개변수 선언이 다르면 메소드 호출문의 전달인자를 통해서 호출된 메소드를 구분할 수 있다. Class MyHome{ void mySimpleRoom(int n){...} void mySimpleRoom(int n1,int n2){...} void mySimpleRoom(double d1, double d2){...} } 매개변수의 수가 다르기 때문에 성립한다. void mySimpleRoom(int n){...} void mySimpleRoom(int n1, int n2){...} 매개변수의 형이 다르기 때문에 성립한다. void mySimpleRoom(int n){...} void mySimpleRoom(double d1){...} 다음과 같은 경우는 데소드 오버..
-
[Java_Basic]클래스 변수와 클래스 메소드(윤성우의 열혈 Java 프로그래밍)Java/Basic 2021. 1. 2. 04:01
static 변수 (클래스 변수) 선언된 클래스의 모든 인스턴스가 공유한다. class InstCnt{ static int instNum = 0;//클래스 변수 InstCnt(){ //생성자 instNum++; //static 으로 선언된 변수의 값 증가 System.out.println("인스턴스 생성: " + instNum); } } class ClassVar{ public static void main(String[] args){ InstCnt cnt1 = new InstCnt(); InstCnt cnt2 = new InstCnt(); InstCnt cnt3 = new InstCnt(); } } 결과 static 선언된 변수 instNum 을 모두 공유하고 있음을 알 수가 있다. 클래스 변수의 접근..
-
[Java_Basic]정보 은닉 그리고 캡슐화(윤성우의 열혈 Java 프로그래밍)Java/Basic 2021. 1. 2. 02:48
정보 은닉 클래스 외부에서 데이터에 직접 접근하는 것을 막겠다 논리적 오류의 경우 컴파일 오류가 발생 하지 않는다. 직접 접근을 허용하지 않고 논리적 오류를 물리적 오류로 이어지도록 강제한다. class Circle{ double rad = 0; final double PI = 3.14; public Circle(double r){ setRad(r);//아래에 정의된 setRad 메소드 호출을 통한 초기화 } public void setRad(double r){ if(r
-
[Java_Basic]패키지와 클래스 패스(윤성우의 열혈 Java 프로그래밍)Java/Basic 2020. 12. 30. 14:27
클래스 패스 자바 가상머신이 클래스 파일을 찾는 경로 C:\STUDY\javastudy\java\java8>set classpath=C:\STUDY\javastudy\java\java8\MyClass 이런식으로 클래스 패스를 설정할 수 있다. 상대 경로 .\MyClass . 은 현재 디렉토리를 의미한다. 절대 경로와 상대 경로 C:\STUDY\javastudy\java\java8>set classpath=.;C:\STUDY\javastudy\java\java8\MyClass 와 C:\STUDY\javastudy\java\java8>set classpath=.;.\MyClass 는 동일하다. 패키지의 이해 클래스를 묶는 수단. 묶어서 '다른 클래스'와 구분하기 위한 수단. 이름 충돌의 해결을 위함이다. 충..
-
[Java_Basic]클래스와 인스턴스(윤성우의 열혈 Java 프로그래밍)Java/Basic 2020. 12. 26. 23:45
클래스 클래스 = 데이터 + 메소드(기능) 모든 프로그램은 데이터와 기능의 모임으로 이뤄져 있다. (static 선언이 다 들어가있으면 진짜 클래스는 아니다) class BankAaccountPo{ static int balance = 0;//예금 잔액 public static void main(String[] args){ deposit(10000);//입금 진행 checkMyBalance();//잔액 확인 withdraw(3000);//출금 진행 checkMyBalance();//잔액 확인 } public static int deposit(int amount){//입금을 담당하는 메소드 balance += amount; return balance; } public static int withdraw(i..
-
[Java_Basic]메소드와 변수의 스코프(윤성우의 열혈 Java 프로그래밍)Java/Basic 2020. 12. 26. 23:45
메소드 기능을 갖고 있는 아이. 자바 프로그램은 main이라는 이름의 메소드에서부터 시작을 한다. class MethodDef{ public static void main(String[] args){ System.out.println("프로그램의 시작"); hiEveryone(12); hiEveryone(13); System.out.println("프로그램 종료"); } public static void hiEveryone(int age){ System.out.println("좋은 아침입니다."); System.out.println("제 나이는" + age + "세 입니다."); } } main 메소드 안의 hiEveryone(12);, hiEveryone(13); 는 hiEveryone 메소드를 호출한..