(혼자 공부하는 자바) 혼공자 - 상속
·
Language/혼자 공부하는 자바 - 정리
상속이미 개발된 클래스를 재사용해서 새로운 클래스를 만들기 때문에 중복되는 코드와 모델링하는 시간을 줄여줌1) 클래스 상속자식(클래스)이 부모(클래스)를 선택함자식 클래스를 선언할 때 상속받을 부모클래스를 extends 뒤에 작성자식 클래스는 자신의 필드와 메소드 뿐만 아니라 부모 클래스의 필드와 메소드 등 사용이 가능함class 자식클래스 extends 부모클래스 { // 필드, 생성자, 메소드}자바에서 상속의 특징다중상속을 허용하지 않아 여러개의 부모클래스를 상속받을 수 없음 (단 한개)부모클래스 중 private 접근 제한을 갖는 필드와 메소드는 상속 대상에서 제외,마찬가지로 부모와 자식클래스가 다른 패키지에 존재한다면 default 접근 제한을 갖는 필드와 메소드도 제외됨2) 부모 생성자 호..
(혼자 공부하는 자바) 혼공자 - 패키지와 접근 제한자
·
Language/혼자 공부하는 자바 - 정리
퍀패키지패키지의 물리적인 형태는 파일 시스템의 폴더이다.폴더 기능만 하는 것이 아니라 클래스의 일부분으로, 클래스를 유일하게 만들어주는 식별자 역할을 한다.클래스 이름이 동일하더라도 패키지가 다르면 다른 클래스로 인식함패키지 선언클래스를 작성할 때 해당 클래스가 어떤 패키지에 속할 것인지를 선언하는 것을 패키지 선언이라고 한다.package 상위패키지.하위패키지public class ClassName {....}import문사용하고자 하는 클래스 또는 인터페이스가 다른 패키지에 소속되어 있다면, import문으로 해당 패키지의 클래스 또는 인터페이스를 가져와 사용할 것임을 컴파일러에 알려줘야 한다.import 상위패키지.하위패키지.클래스이름;import 상위패키지.하위패키지. *;import문은 패키지 ..
(혼자 공부하는 자바) 혼공자 - 인스턴스 멤버와 정적 멤버
·
Language/혼자 공부하는 자바 - 정리
시작하기 전에 💡 클래스는 객체의 설계도이다. 클래스 멤버(필드,메소드)는 당연히 객체에도 포함되어 있어야 한다. 하지만 이것이 효율적인지 생각해볼 필요가 있다.  💡 클래스로부터 객체(인스턴스)는 하나가 아니라 여러 개가 만들어질 수 있다. 이 경우 클래스 멤버들을 객체마다 모두 가지고 있을 필요가 있을까?  💡 객체마다 필드값이 달라야 한다면 해당 필드는 객체마다 가지고 있는 것이 맞다. 하지만 객체의 필드값이 모두 같아야 한다면 이 필드를 객체마다 가지고 있을 필요가 있을까?  💡 만약 객체마다 갖고 있다면 메모리 낭비가 되며, 모든 객체의 필드값을 같게 맞추는 추가적인 작업이 필요할 수도 있다. 오히려 이런 필드는 한 곳에 위치시키고 객체들이 공유하는 것이 좋을 수 있다. 자바는 이런 경우..
(혼자 공부하는 자바) 혼공자 - 메소드
·
Language/혼자 공부하는 자바 - 정리
메소드메소드는 객체의 동작에 해당하는 중괄호 { } 블록을 말한다.메소드를 호출하면 중괄호 블록에 있는 모든 코드들이 일괄적으로 실행됩니다.메소드 선언은 선언부와 실행 블록으로 구성된다. 메소드 선언부를 메소드 시그너처라고 하며, 선언부와 실행 블록에는 다음 요소를 포함한다.리턴 타입: 메소드가 리턴하는 결과의 타입을 표시한다.메소드 이름: 메소드의 기능이 드러나도록 식별자 규칙에 맞게 이름을 지어준다.매개 변수 선언: 메소드를 실행할 때 필요한 데이터를 받기 위한 변수를 선언함.메소드 실행 블록: 실행할 코드를 작성함.리턴타입 메소드이름 //메소드가 리턴하는 결과 타입 표시 { [매개변수선언 // 메소드가 실행할 때 필요한 데이터를 받기 위한 변수] } {실행할 코드를 작성하는 곳 // 메소드 실행 블..
(혼자 공부하는 자바) 혼공자 - 생성자
·
Language/혼자 공부하는 자바 - 정리
생성자생성자는 new 연산자로 클래스로부터 객체를 생성할 때 호출되어 객체의 초기화를 담당한다.객체 초기화란 필드를 초기화 하거나 메소드를 호출해서 객체를 사용할 준비를 하는 것을 말함생성자를 실행하지 않고는 클래스로부터 객체를 만들 수 없다.기본 생성자모든 클래스는 생성자가 반드시 존재하는 생성자이다, 생성자를 하나 이상 가질 수 있다.생성자 선언기본 생성자 대신 우리가 생성자를 명시적으로 선언하려면 다음과 같은 형태로 작성하면 된다.클래스( 매개변수선언, ...) { //객체의 초기화 코드} 💡 매개변수 = 함수나 프로그램에 전달되는 값을 가리킴생성자는 메소드와 비슷한 모양을 가지고 있으나, 리턴 타입이 없고 클래스 이름과 동일함.생성자 블록 내부에는 객체 초기화 코드가 작성되는데, 알반적으로 필드..
(혼자 공부하는 자바) 혼공자 - 필드
·
Language/혼자 공부하는 자바 - 정리
필드필드는 객체의 고유 데이터, 객체가 가져야 할 부품, 객체의 현재 상태 데이터를 저장하는 곳.필드 선언필드 선언은 클래스 중괄호 { } 블록 어디서든 존재할 수 있음.생성자 선언과 메소드 선언의 앞과 뒤 어떤 곳에서도 필드 선언이 가능함. 하지만 생성자와 메소드 중괄호 { } 블록 내부에는 선언이 될 수 없음필드 사용필드를 사용한다는 것은 필드값을 읽고 변경하는 작업을 말함.클래스 내부의 생성자나 메소드에서 사용할 경우 단순히 필드 이름으로 읽고 변경하면 되지만, 클래스 외부에서 사용할 경우 우선적으로 클래스로부터 객체를 생성한 뒤 필드를 사용해야 함. 실습코드package Class;public class Car { //필드 String company = "현대자동차"; String..
park-til
'혼자공부하는자바' 태그의 글 목록