본문 바로가기
반응형

Back-End89

상속 - 01 클래스 상속 public class 자식클래스 extends 부모클래스 { } 프로그램에선 자식 클래스가 부모 클래스를 선택 단 하나의 부모 클래스만 상속 받을 수 있음 (다중상속x) 부모 클래스에서 private 접근 제한을 갖는 필드와 메소드는 상속 대상에서 제외 부모 클래스와 자식 클래스가 다른 패키지에 존재한다면 default 접근 제한을 갖는 필드와 메소드도 상속 대상에서 제외 부모 생성자 호출 public 자식생성자() { super(); } 자식 객체를 생성하면, 부모 객체가 먼저 생성되고 그 다음에 자식 객체가 생성됨 부모 클래스에 기본 생성자가 없고 매개변수를 갖는 생성자만 있다면 super(매개값,...) 코드를 넣어줘야 함 자식 생성자 호출 자식 생성자에서 super();호출 부모 객.. 2022. 12. 21.
클래스 - 02 인스턴스 멤버 인스턴스 필드, 인스턴스 메소드 객체마다 가지고 있는 멤버, 객체를 생성한 후 사용 가능 인스턴스 메소드는 객체 내부에 존재하지 않고 메소드 영역에 저장되고 공유됨, 인스턴스 메소드라 불리는 이유는 메모리 블록 내부의 인스턴스 필드 등이 사용되는 경우 객체 없이 사용이 불가하기 때문 this 키워드 객체 내부에서 인스턴스 멤버에 접근하기 위해 사용 생성자와 메소드의 매개 변수 이름이 동일한 경우, 인스턴스 멤버인 필드임을 명시하고자 할 때 사용 정적 멤버 정적 필드, 정적 메소드 클래스에 고정된 멤버, 객체를 생성하지 않고 사용 가능 정적 멤버는 메소드 영역에 저장됨 개체마다 가지고 있을 필요가 없는 공용 데이터라면 정적 필드로 선언하는 것이 좋음 static 키워드를 붙이면 됨 정적 메소.. 2022. 12. 16.
클래스 - 01 객체지향 프로그래밍 부품에 해당하는 객체들을 먼저 만들고, 이 객체들을 하나씩 조립해서 완성된 프로그램을 만드는 기법 객체 모든 인스턴스를 대표하는 포괄적인 의미 클래스의 타입으로 선언되었을 때 객체라고 부름 메모리 할당 되지 않은 상태 객체 : 필드(속성), 메소드(동작) 으로 구성 객체 모델링 : 현실 세계의 객체를 소프트웨어 객체로 설계하는 것 객체 간의 관계 (집합 관계, 사용 관계, 상속 관계) 객체지향 프로그래밍의 특징 캡슐화 : 필드와 메소드 보호, 접근 제한자 사용 상속 : 코드의 재사용성, 유지 보수 시간 최소화 (부모 객체의 필드와 메소드를 수정하면 자식 객체들은 자동으로 수정됨) 다형성 : 자동 타입 변환과 재정의, 상속, 인터페이스 구현 객체와 클래스 클래스 : 객체 생성의 설계도 .. 2022. 12. 11.
참조 타입 참조 타입 배열 타입, 열거 타입, 클래스, 인터페이스 기본 타입은 실제 값을 변수에 저장하지만, 참조 타입은 변수에 힙 영역에 생성되어있는 객체의 메모리의 번지 수를 저장하여 객체를 참조함 모든 변수는 스택 영역에 생성됨 String name = "홍길동"; String hobby = "독서"; // String 객체로 생성이 되기 때문에 번지를 참조함 메모리 영역 java 명령어로 JVM이 구동되면 JVM은 운영체제에서 할당받은 메모리 영역을 다음과 같이 구문해서 사용 메소드 영역 클래스별로 정적필드와 상수, 메소드 코드, 생성자 코드 등이 저장됨 바이트코드 파일을 읽은 내용이 저장됨 (소스코드(.java) → 바이트코드파일(.class)) 힙 영역 클래스로 부터 생성된 객체와 배열이 저장됨 여기에서.. 2022. 12. 9.
조건문과 반복문 if문 조건식이 true면 블록을 실행, false면 블록을 실행하지 않음 실행문이 하나밖에 없다면 중괄호{} 를 생략 할 수있으나, 생략하지 않고 작성하는 것이 좋음 if(조건식) { 실행문A } 실행문B // 조건식이 true일 경우 A 실행, false일경우 B 실행 if-else문 조건식이 true면 if문의 블록 실행, false면 else문의 블록 실행 if(조건식) { 실행문A } else { 실행문B } 실행문 C // 조건식이 true일 경우 A 실행 후 C 실행, false일경우 B 실행 후 C 실행 else if문 else문 안에 if-else문이 있는경우 아래 두 문장은 같은 문장임 if(조건식1) { 실행문A } else { if(조건식2){ 실행문B } else { 실행문C } .. 2022. 12. 8.
연산자 연산자 : 연산에 사용되는 표시나 기호 피연산자 : 연산자와 함께 연산되는 데이터 연산식 : 연산자와 피연산자를 이용하여 연산의 과정을 기술한 것 연산식은 반드시 하나의 값을 산출하며, 값 대신에 연산식을 사용할 수 있음 단항 연산자 부호 연산자(+,-) byte타입 변수를 부호 연산하면 int타입으로 변환됨 부호를 변경하는 것도 연산이므로 연산 결과는 int타입 byte b = 100; byte result = -b; // 컴파일 에러 발생 int result = -b; // 올바른 코딩 예 증감 연산자(++,—) 피연산자의 값에 1을 증가시키거나 감소시킴 int x = 1; int y = 1; int result1 = ++x + 10 //증감 연산자가 변수의 앞에 위치할 때 : 우선 1을 증가 시킨 .. 2022. 12. 8.
변수와 타입 변수 하나의 값을 저장할 수 있는 메모리 번지에 붙여진 이름 메모리 값 저장 변수 선언(메모리 할당X) 후, 변수에 값을 지정(메모리 할당O) 저장 위치 또는 어떤 방식으로 저장할지는 JVM이 정함 변수이름 작성 규칙 첫 번째 글자는 문자 또는’$’,’_’ 이어야 하고, 숫자로 시작할 수 없음(필수) 영어 대소문자를 구분(필수) 첫 문자는 영어 소문자로 시작하되, 다른 단어가 붙을 경우 첫 문자를 대문자로 한다(관례, 캐멀스타일) 자바 예약어는 사용할 수 없음 분류 예약어 기본 타입 boolean, byte, char, short, int, long, float. double 접근 제한자 private, protected, public 클래스와 관련된 것 class, abstract, interface,.. 2022. 12. 8.
자바 시작하기 컴파일 : 소스파일을 컴퓨터가 이해할수 있는 언어(기계어)로 번역하는 과정 JDK : 자바 개발 도구 (Java Development Kit), 자바로 프로그램을 개발할 수 있는 실행 환경(JVM)과 개발 도구(컴파일러) 등을 제공 PATH : 운영체제가 명령행 또는 터미널 창에서 필요한 실행 파일을 찾는 데 사용하는 시스템 변수 실행파일을 어디서건 실행이 가능하게 하기위해 PATH에 등록 java.exe → 자바 런처 javac.exe → 자바 컴파일러 컴파일 → class생성 → 프로그램실행가능 자바의 특징 모든 운영체제에서 실행 가능 객체 지향 프로그래밍 메모리 자동 정리 무료 라이브러리 풍부 소스파일(.java) 프로그래밍 언어로 작성된 파일 src 폴더에 저장됨 바이트 코드 파일(.class) .. 2022. 12. 8.
반응형