분류 전체보기
-
[Java_Basic]클래스의 상속3 : 상속의 목적(윤성우의 열혈 Java 프로그래밍)Java/Basic 2021. 1. 2. 16:29
상속의 활용 class Friend{ protected String name; protected String phone; public Friend(String na, String ph){ name = na; phone = ph; } public void showInfo(){ System.out.println("이름 : " + name); System.out.println("전화 : " + phone); } } class UnivFriend extends Friend{ private String major; public UnivFriend(String na, String ph, String ma){ super(na, ph); major = ma; } public void showInfo(){ super.s..
-
[Java_Basic]클래스의 상속 2 : 오버라이딩(윤성우의 열혈 Java 프로그래밍)Java/Basic 2021. 1. 2. 15:34
상속의 특성 하위 클래스는 상위 클래스의 모든 특성을 지닌다. 하위 클래스는 자신의 특성을 더한다. Life is a journey. 인생은 여행이다. 노트북은 컴퓨터이다. IS-A 관계 : A is a B class MobilePhone{ protected String number; public MobilePhone(String num){ number = num; } public void answer(){ System.out.println("Hi~ from " + number); } } class SmartPhone extends MobilePhone{ private String androidVer; public SmartPhone(String num, String ver){ super(num); an..
-
[Java_Basic]클래스의 상속1 : 상속의 기본(윤성우의 열혈 Java 프로그래밍)Java/Basic 2021. 1. 2. 13:49
상속 연관된 일련의 클래스들에 대해 공통적인 규약을 정의할 수 있다 (단순히 재활용의 목적으로 상족이 쓰일 경우 무의미한 코드가 될 수 있다) 상속의 특성 부모 클래스 class Man{ String name; public void tellYourName(){ System.out.println("My name is " + name); } } 자식클래스 class BusinessMan extends Man{//Man 클래스를 상속하는 클래스 String company; String position; public void tellYourInfo(){ System.out.println("My company is" + company); System.out.println("My position is " + pos..
-
[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