본문 바로가기

전체 글64

자바의 정석 기초 ( 상속 (Inheritance) / 포함 (composite) ) 남궁성님의 자바의 정석 기초편을 보면서 혼자 공부하는 공간입니다. 참고 부탁드립니다. 상속 (Inheritance) - 기존의 클래스로 새로운 클래스를 작성하는 것 (코드의 재사용) - 두 클래스를 부모와 자식으로 관계를 맺어주는 것 (extends 키워드 사용) class 자식클래스 extends 부모클래스 { // .... } - 자손은 조상의 모든 멤버를 상속받는다. (생성자, 초기화블럭 제외) - 자손의 멤버 개수는 조상보다 적을 수 없다. (같거나 많다) - 자손의 변경은 조상에 영향을 미치지 않는다. class Point { // 2차원 좌표의 한점 (x,y) int x; int y; } class Point3D{ // 3차원 좌표의 한점 (x,y,z) int x; int y; int z; }.. 2020. 7. 10.
자바의 정석 기초 ( 생성자 this() / 참조변수 this / 변수의 초기화 / 초기화 순서 ) 남궁성님의 자바의 정석 기초편을 보면서 혼자 공부하는 공간입니다. 참고 부탁드립니다. 생성자 this() - 생성자에서 다른 생성자 호출할 때 사용 - 다른 생성자 호출시 첫 줄에서만 사용 가능 참조변수 this ( 생성자 this()와 전혀 다름! ) - 인스턴스 자신을 가리키는 참조변수 - 인스턴스 메서드(생성자 포함)에서 사용 가능 - 지역변수(lv)와 인스턴스 변수(iv)를 구별할 때 사용 Car(String c, String g, int d){ // 매개변수는 지역변수 (lv) color = c; gearType = g; door = d; // color, gearType, door 은 인스턴스 변수(iv)이고, 같은 클래스 내에서는 this 생략 가능 } Car(String color, Str.. 2020. 7. 9.
자바의 정석 기초 ( 오버로딩 ) 남궁성님의 자바의 정석 기초편을 보면서 혼자 공부하는 공간입니다. 참고 부탁드립니다. 오버로딩 - 한 클래스 안에 같은 이름의 메서드 여러개 정의 ex) void println() void println(boolean x) void println(char x) void println(char[] x) void println(double x) void println(float x) void println(int x) void println(long x) void println(Object x) void println(String x) 오버로딩이 성립하기 위한 조건 - 메서드 이름이 같아야 한다. - 매개변수 개수 또는 타입이 달라야 한다. - 반환 타입은 영향없다. int add(int a, int b) .. 2020. 7. 9.
자바의 정석 기초 ( 생성자 (constructor)/ 생성자 규칙 / 기본 생성자 (default constructor ) / 매개변수가 있는 생성자 ) 남궁성님의 자바의 정석 기초편을 보면서 혼자 공부하는 공간입니다. 참고 부탁드립니다. 생성자 (constructor) - 인스턴스가 생성될 때 마다 호출되는 '인스턴스 초기화 메서드' (인스턴스 초기화는 인스턴스 변수 초기화 라고 생각하면 됨) Time t = new Time(); t.hour = 12; t.minute = 34; t.second = 56; // 12시 34분 56초로 설정한 것이 초기화 > Time t = new Time(12,34,56); 생성자 호출(사용) 가능 생성자 규칙 - 이름이 클래스 이름과 같아야 한다 - 리턴값이 없다. (void 안붙임) - 모든 클래스는 반드시 생성자를 가져야한다. 클래스이름(타입 변수명, 타입 변수명 ...) { // 인스턴스 생성 시 수행될 코드 /.. 2020. 7. 9.
자바의 정석 기초 ( static 메서드 / instance 메서드 ) 남궁성님의 자바의 정석 기초편을 보면서 혼자 공부하는 공간입니다. 참고 부탁드립니다. 인스턴스 메서드 - 인스턴스 생성 후 , '참조변수.메서드()' 으로 호출 - 인스턴스 멤버(iv, im)와 관련된 작업을 하는 메서드 - 메서드 내에서 인스턴스 변수(iv) 사용 가능 static 메서드 (클래스 메서드) - 객체 생성 없이 '클래스이름.메서드이름()' 으로 호출 - 인스턴스 멤버(iv, im)와 관련없는 작업을 하는 메서드 - 메서드 내에서 인스턴스 변수(iv) 사용 불가 ex) Math.random(); , Math.round(); // 객체생성 없이 클래스이름.메서드이름으로 사용 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 public.. 2020. 7. 8.
자바의 정석 기초 ( 메서드 / 메서드 호출 / return 문 / 반환값 ) 남궁성님의 자바의 정석 기초편을 보면서 혼자 공부하는 공간입니다. 참고 부탁드립니다. 메서드 - 작업단위로 문장들을 묶은 것 - 값(입력)을 받아서 처리하고, 결과를 반환(출력) 메서드의 장점 - 코드의 중복을 줄일 수 있음 - 코드의 관리가 쉬움 - 코드 재사용 가능 - 코드가 간결해서 이해하기 쉬움 메서드의 작성 - 반복적으로 수행되는 여러 문장을 메서드로 작성 - 하나의 메서드는 한가지 기능만 수행하도록 작성 메서드 = 선언부 + 구현부 반환타입 메서드 이름 (타입 변수명, 타입 변수명...) // 선언부 { // 메서드 호출시 수행될 코드 // 구현부 } 메서드 구현부 지역변수 (Local variable) : 메서드 내에 선언된 변수 int add(int x, int y) { int result.. 2020. 7. 8.