본문 바로가기

전체 글70

JAVA_생성자(Constructor) : 인스턴스가 생성될 때 호출되는 '인스턴스 초기화 메서드' - 조건 ① 생성자 이름은 클래스 이름과 같아야 한다. ② 생성자는 리턴 값이 없다. * 모든 클래스는 생성자를 가지고 있다.(기본생성자, 매개변수생성자) ① 기본생성자 : 매개변수가 없는 생성자 클래스에 생성자를 정의하지 않아도 컴파일러가 자동적으로 추가하여 컴파일하기 때문에 매개변수가 없는 생성자일 경우 생략가능 ② 매개변수가 있는 생성자 : 매개변수가 있는 생성자 생성저도 매개변수를 선언하여 호출시 값을 넘겨받아 인스턴스의 초기화 작업에 사용 **** 매개변수 있는 생성자를 사용하면 컴파일러가 생성자가 있음을 인식하여 기본생성자를 만들지 않음 -> 이때 초기화가 없는 인스턴스가 생성될때 오류가 나기 때.. 2021. 7. 31.
JAVA_상속 상속 : 기존의 클래스를 재사용하여 새로운 클래스를 작성하는 것, - 장점, 재사용성, 코드의 중복제거 조상클래스 : 부모클래스, 상위클래스 자손클래스 : 자식클래스, 하위클래스 ** student1은 classA의 구성원이고 classA는 school의 반 중 하나이기 때문에 상속은 아래의 그림과 같이 나타낼 수 있다. - 포함관계 : 한 클래스의 멤버변수로 다른 클래스 타입의 참조변수를 선언하는 것 * 상속과 포함관계 생각할 때 '은~이다.' or '은 ~ 가지고 있다'로 생각해보기 - 상속은 단 하나의 클래스만 받을 수 있다 . - 모든 클래스의 조상은 'Object 클래스'이다. https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html 에서.. 2021. 7. 31.
[book review] 코딩 진로 2021년 발간된 비전공자의 코딩진로 이야기 개발자, 취업컨설턴트, 인사관리자의 IT 업계 취업에 대한 현재와 미래를 썼다고 한다. 현재의 내가 잘 가고있나…? 나를 믿고 도전 해도 될까..? 라는 기대에 구입했다. - 꿈 찾는 법 저자는 적성검사를 통해 적성에 맞는 직업군을 몇개뽑았고, 어떠한 이유로 맞지 않는지 찾아보고 경험했다. 사실 전공대로 생각해서 관련 분야에 대한 취업만을 생각했고, 어떠한 계기로 코딩을 공부하게 되었고, 나름 흥미를 느껴 시작했다. 이 챕터를 읽고 저자처럼 나의 적성과 맞는 직업군을 간추렸고, 맞는지 맞지않는지 생각해 볼 수 있는 시간을 가질 수 있었다. - 개발자 적성 찾는 법 정말로 개발자로서 적성이 있는지 궁금하다면, 깨어 있는 시간의 70% 이상 코딩을 하며 한 달 이.. 2021. 7. 29.
JAVA_오버로딩(Overloading)과 오버라이딩(Overriding) : 한 클래스 내에 이름이 같은 메소드를 여러 개 정의 - 조건, ① 같은 이름의 메서드인 경우 ② 매개변수(parameter)가 다른 타입이거나 타입의 수가 다른 경우 ③ 리턴값은 영향을 주지 않음 - 장점, 이름이 같으니, 같은 기능임을 파악할 수 있으며, 메서드 이름을 절약할 수 있음 class OverloadingTest { public static void main(String[] args){ Calculator cal = new Calculator(); //모두 cal.add로 메서드이름이 같지만 매개변수 타입이 다르기 때문에 출력이 가능하며, //메서드 이름으로 모두 더하는 메소드이구나 임을 파악할 수 있음 System.out.println("cal.add(2,3) => " + cal.add.. 2021. 7. 29.
JAVA_객체지향(매개변수, 메서드 구분 ) - 기본형 매개변수와 참조형 매개변수 1) 기본형 매개변수(primitive) : 값을 읽기만 함, 특정 값을 저장 ( int, long, double, char, float, short, byte, boolean) 2) 참조형 매개변수(reference) : 변수의 값을 읽고 변경 , 특정 객체를 간접적으로 가리키는 변수(주소저장) (String, int[], ..) public class ReferenceTest{ public static void main(String[] args){ //기본형 int money = 10000; System.out.print(money + " -> " ); // 10000 -> zero(money); System.out.println(money); // 10000 -.. 2021. 7. 28.
JAVA_JVM 메모리 구조 JVM : Java Virtual Machine ( 자바 가상 머신 ) - 응용프로그램이 실행되면 JVM은 시스템으로부터 프로그램을 수행하는데 필요한 메모리를 할당받고 JVM은 이 메모리를 용도에 따라 나눔 --> 3가지 주요 영역 : method area, call stack, heap ① 메서드 영역 (method area) : 어떤 클래스가 사용되면, JVM은 해당 클래스의 파일을 읽어 분서하여 정보를 클래스데이터에 저장한다. 이 때, 클래스변수도 함께 저장 ② 힙(heap) : 인스턴스가 생성되는 공간 => 인스턴스 변수 생성 ③ 호출스택(call stack) : 메서드의 작업에 필요한 메모리 공간 제공, 메서도가 호출되면 호출 스택에 메모리를 할당하고, 메서드를 종료하면 반환 * 호출 스택 생성.. 2021. 7. 28.