반응형

전체 글 354

[Java, 객체지향] 추상 클래스, 추상 메서드란?

[Java, 객체지향] 추상 클래스, 추상 메서드란? 추상 클래스는 추상 메서드를 가지고 있는 클래스를 의미한다. 추상 메서드는 body 부분( { } 또는 구현부 )이 없는 미완성 메서드이고, 추상 클래스는 미완성 클래스를 의미한다. 추상클래스에는 아래와 같이 abstract 제어자를 적어준다. abstract class Customer { abstract void grade(); // { }로 이루어진 메서드 body가 없다. } 미완성인 만큼, 추상 클래스로는 인스턴스 생성이 불가하다. 그렇다면 이러한 추상 클래스는 왜 만드는 것일까? 이는 바로, 미완성이긴 해도 그 자체로 다른 클래스 작성에 도움이 되기 때문이다. 자손마다 메서드 구현 방식이 다른 경우에 추상 클래스를 이용하면 편리하다. 상속을 ..

Java 2021.08.16

[GIT] GIT(깃) 사용 방법 & 기본적인 명령어

[GIT] GIT(깃) 사용 방법 & 기본적인 명령어 0. git 기본 명령어 git 사용 방법을 알기 전에 아래의 git 기본 명령어를 우선적으로 학습한다. init(초기화): 현재 디렉터리를 git(깃) 작업할 수 있도록 선언해 준다. remote(원격): github(깃허브) 저장소와 같은 원격 저장소를 지정한다. add(추가): 파일 또는 디렉터리를 git(깃)을 통해 추적하도록 설정한다. commit(커밋): git(깃)을 통해 추적하는 파일의 변경 사항을 저장한다. push(푸시): 변경 사항이 기록된 로컬 git(깃)의 파일들을 원격 저장소로 보낸다. 1. 버전 생성하는 방법 git init . 현재 디렉토리를 git에 버전관리를 시킴 git status 현재 커밋 상태 확인 (커밋은 버전이..

GIT 2021.08.15

[CLI] POSIX 호환 시스템에서 사용되는 CLI 여러 가지

[CLI] POSIX 호환 시스템에서 사용되는 CLI 여러 가지 CLI (Command Line Interface) pwd print working directory cd change directory / root directory cd / root로 change directory cd ~ home directory로 change directory ls 파일 및 폴더 목록 ls --help ls라는 명령의 사용설명 안내 ls -l long listing format으로 ls 설명 (d로 시작하는 건 폴더(directory), -로 시작하는 건 파일) ls -a 숨긴 파일도 다 출력 (숨긴 파일은 .으로 시작) ls -l -a 또는 ls -al 또는 ls -la ls -l와 ls -a를 동시에(long l..

GIT 2021.08.15

[Java, 객체지향] 제어자란? (modifier) (접근 제어자 & static, final, abstract)

[Java, 객체지향] 제어자란? (modifier) (static, final, abstract) modifier란? Java에서 modifier(제어자, 제한자)란 클래스와 클래스의 멤버(멤버 변수, 메서드)에 부가적인 의미를 부여하는 것이다. modifier에는 접근 제어자와 접근 제어자가 아닌 것이 있다. 1. 접근 제어자 : public, protected, 선언되지 않음(default), private 접근 제어자에 관련된 내용은 아래 링크 속 하단에 정리해두었다. https://unit-15.tistory.com/entry/Java-%EA%B0%9D%EC%B2%B4%EC%A7%80%ED%96%A5-%ED%81%B4%EB%9E%98%EC%8A%A4-%EC%83%81%EC%86%8Dinherit..

Java 2021.08.12

[Java, 객체지향] 패키지란?

[Java, 객체지향] 패키지란? 패키지란? (Package) 패키지는 서로 관련된 클래스의 묶음을 의미한다. 클래스는 클래스 파일이고(*.class), 패키지는 폴더라고 할 수 있다. 클래스 패스란? (Classpath) 클래스 패스는 클래스 파일의 위치를 알려주는 경로이다. import문 생성 단축키 클래스를 사용할 때 원래는 패키지 이름을 다 입력해야 한다. 하지만 import문을 이용하면 이를 생략해도 된다. import문을 자동으로 삽입해주는 단축키는 'Crtl+Shift+O'이다. import문 선언 import 패키지.클래스; 또는 import 패키지.*; // 모든 클래스를 import Java를 사용하면서 많이 사용하는 메서드인 System.out.println(); 함수는 알고보면 Sy..

Java 2021.08.12

[Java, 객체지향] 지역 변수, 멤버 변수의 초기화

[Java, 객체지향] 지역 변수, 멤버 변수의 초기화 아래 링크 참고 https://unit-15.tistory.com/entry/Java-%EA%B0%9D%EC%B2%B4%EC%A7%80%ED%96%A5-%EC%84%A0%EC%96%B8%EC%9C%84%EC%B9%98%EC%97%90-%EB%94%B0%EB%A5%B8-%EB%B3%80%EC%88%98-%EC%A2%85%EB%A5%98 지역변수는 사용전 꼭 수동 초기화 해야한다. 반면, 멤버 변수는 자동 초기화된다. 자동 초기화될 때의 기본값은 자료형마다 다르다. 숫자형의 기본값은 0, boolean의 기본값은 false, 참조형의 기본값은 null 멤버변수의 초기화에는 세 가지 방법이 있다. 1. 명시적 초기화 대입연산자 '='를 이용한 초기화 방법..

Java 2021.08.11

[Java, 객체지향] 생성자(constructor) 의미와 종류 (+this)

[Java, 객체지향] 생성자(constructor) 의미와 종류 (+this) 생성자 인스턴스가 생성될 때마다 호출되는 인스턴스 초기화 메서드를 생성자라고 한다. 즉, 생성자는 인스턴스 변수의 초기화 작업에 주로 사용된다. 생성자를 만들 때, 생성자의 이름은 클래스 이름과 같아야 한다. 또한 생성자는 리턴값이 없다. (= void를 붙이지 않는다.) 모든 클래스는 반드시 생성자를 가져야 한다. 생성자에는 기본 생성자와 매개변수가 있는 생성자가 있다. 1. 기본 생성자 (default constructor) 매개변수가 없는 생성자이며, 생성자가 하나도 없을 때는 컴파일러가 자동으로 추가해준다. 형식: 클래스이름( ) { } 2. 매개변수가 있는 생성자 매개변수가 있는 생성자이다. 기본 생성자 없이 매개변..

Java 2021.08.11

[Java, 객체지향] 오버로딩이란? (overloading)

[Java, 객체지향] 오버로딩이란? (overloading) 오버로딩 (Overloading) overload는 영어로 '과적하다'라는 뜻으로, overloading은 한 클래스 안에 같은 이름의 메서드를 여러 개 정의하는 것이다. 오버로딩이 성립하려면 아래 조건을 모두 만족해야 한다. 메서드 이름이 같아야 한다. 매개변수의 개수 또는 타입이 달라야 한다. 반환(return) 타입은 영향 없다. (=return 타입이 다르다고 오버로딩이 성립하는 게 아니다) ex. long add(int a, long b) { return a+b; } long add(long a, int b) { return a+b; } 변수는 같은 이름이 여러 개 있을 수 없다. 메서드도 변수처럼 같은 이름이 여러 개 있으면 안 될..

Java 2021.08.11

[Java, 객체지향] IS-A 관계, HAS-A 관계 차이 (상속 Inheritance)

[Java, 객체지향] IS-A 관계, HAS-A 관계 차이 (상속 Inheritance) IS-A 관계 (is a relationship) 말 그대로, '~은 ~이다.'로 상속관계를 의미한다. 상속에서 is-a 관계는 일반적인 개념과 구체적인 개념과의 관계이다. 상위 클래스가 일반적인 개념 클래스이고 하위 클래스가 구체적인 개념 클래스가 된다. (ex. 상위 클래스: 동물 / 하위 클래스: 포유류, 파충류) is-a 관계는 단순히 코드를 재사용하는 목적으로는 사용하지 않는다. (*IS-A 관계 읽는법: "이즈 어 관계"라고 읽는다.) HAS-A 관계 (has a relationship) 말 그대로, '~은 ~을 가지고 있다.'로 포함관계를 의미한다. 상속에서 has-a 관계는 한 클래스가 다른 클래스를..

Java 2021.08.11
반응형