본문 바로가기

[Java] 접근 지정자 - private, default, protected, public 접근 지정자(접근 권한자) 외부에서 필요로하는 클래스를 불러올 때 사용하는 지정자를 의미함 접근 범위 : private < (default) < protected < public 사용 목적 : 외부로부터 데이터를 보호하기 위해서 1. private 접근 지정자 같은 패키지 접근 X 다른 패키지 접근 X 자기 클래스내에서만 접근 O 2. default 접근 지정자 같은 패키지 접근 O 자기 클래스내에서도 접근 O 다른 패키지 접근 X 다른 패키지 & 상속받은 자식 클래스 접근 X 3. protected 접근 지정자 같은 패키지 접근 O 자기 클래스내에서도 접근 O 다른 패키지 접근 X 다른 패키지 & 상속받은 자식 클래스 접근 O 4. public 접근 지정자 같은 패키지 접근 O 자기 클래스내에서도 접근..
[Java] 객체지향 프로그래밍 - 상속 1. 상속의 개요 상속(inheritance) : 기존 클래스를 재사용하여 새로운 클래스를 작성하는 것 상속을 통해 중복 코딩을 줄여 효율적인 개발 가능(코딩 양 감소, 개발 시간 단축, 유지보수 편리, 재사용성) 상속과 복사는 다름 --> 기능은 비슷하지만 의미가 좀 다름 부모클래스(슈퍼클래스)가 자식클래스(서브클래스)에게 멤버변수,메서드를 물려줌 2. 상속의 특징 생성자는 상속이 불가능 다중상속 불가능 단일상속만 가능 상속 누적 가능 Parent {int a} > Child { int b } > GrandChild { int a, b } GrandChild클래스는 Parent클래스의 멤버변수 a와 Child 클래스의 멤버변수 b를 모두 상속 가능 3. 오버라이딩 부모클래스로부터 상속받은 메서드 중에서..
[Java] 배열(array) 1. 배열의 개요 배열 : 같은 타입의 여러 변수를 하나의 묶음으로 다루는 것 배열의 생성 형식) 타입 배열이름[ ] = new 타입[개수]; EX ) int su[ ] = new int[3]; 형식2) 타입 배열이름[ ] = {값,값2,값3...}; EX ) int c[ ] = {10,20,30,40,50}; 2. 배열의 활용 - 최대값,최소값 구하기 public class ArrayTestMax { public static void main(String[] args) { // TODO Auto-generated method stub int score [] = {79,88,91,33,100,55,95}; //배열의 값중에서 최대값,최소값을 저장 int max=score[0]; int min=score[..
[Java] 정적 메서드 1. 메서드의 종류 - 메모리 관점에서 일반 메서드 객체 생성 --> 메서드 호출 가능 보편적인 기능이 아닌 특수한 기능을 사용할 때 사용 형식) 객체명.메서드명(~) 정적 메서드 객체 생성 X --> 메서드 호출 가능 기본적인 계산이나 단순한 작업을 할 때 사용 형식) 클래스명.정적메서드명(~) 2. 정적메서드 호출 방법 static main( ) 정적 --> 일반메서드 호출 객체명.일반메서드명(~) static 정적메서드 --> 정적메서드 클래스명.정적메서드(~) 또는 정적메서드(~) -->클래스명 생략 가능(같은 클래스 내부에서만)
[Java] 객체지향 프로그래밍 - 다형성 다형성 같은 메서드를 호출해도 결과가 다 다르게 나타남 다양한 방식으로 표현 가능 생성자(Constructor) 객체가 생성할 때 맨 처음 자동으로 호출되는 특수한 메서드 생성자 이름은 클래스 이름과 같다 반환형을 사용하지 않는다(void 생략) 기본 생성자 --> ex) Car ( ) { } 멤버변수의 초기화 : 객체 생성 후 맨 처음 데이터를 저장할 목적으로 사용되는 메서드 ex) Car ( ) { name = "morning"; output = 1000; } 오버로딩 서로 다른 여러개의 비슷한 기능을 가진 메서드가 존재하는 경우 메서드명을 하나로 통합하면 매개변수의 개수,자료형을 가지고 서로 다른 메서드처럼 사용할 수 있도록 만들어주는 기법 메서드 오버로딩 구현 조건 메서드의 이름은 같아야 된다. ..
[Java] 객체지향 프로그래밍 - 캡슐화 캡슐화 : 멤버변수에 저장된 값을 보호하고, 은닉하는 것 올바른 값만 저장될 수 있도록 처리해주는 방법 캡슐화를 적용시키는 방법 1. 모든 멤버변수 앞에 private를 붙인다 2. setter/getter 메서드 작성 메서드를 사용하는 이유 1. 높은 재사용성 : 한 번 만들어 놓은 메서드는 몇 번이고 호출 가능 2. 중복된 코드의 제거 : 반복되는 문장들을 하나의 메소드로 작성 가능 3. 프로그램의 구조화 : 큰 규모의 프로그램에서는 프로그램의 구조를 단순화시키는 것이 필수적 소스코드 - Car.java public class Car { //멤버변수 : 클래스 내부에 선언된 변수 private String name;//이름 private int output;//배기량 private int year;/..
[Java] (Eclipse)이클립스 자주쓰는 단축키 단축키 설명 Ctrl + A 전체 블럭지정하기 Ctrl + Shift + F 블럭지정한 부분을 자동 들여쓰기 Ctrl + Shift + / 블럭지정한 부분을 주석 처리 Ctrl + Shift + \ 블럭지정한 부분을 주석 풀기 Ctrl + space bar 명령어,변수,함수 등을 다 입력하지 않아도 자동완성가능 Ctrl + Shift + S 모든 파일 저장 Ctrl + S 현재 파일만 저장 Ctrl + F11 실행 Shift + F2 API 참조하기 Ctrl + Shift + O 자동 import Ctrl + Alt + 방향키(Up/Down) 한 줄 복사
[Java] 객체지향 프로그래밍 - 추상화 추상화 : 현실세계에서 존재하는 모든 사물의 공통점과 공통 기능을 유추해서 클래스를 만들어내는 일련의 과정 (단순 실행 목적이 아닌 데이터를 저장하기 위해) 메서드 : 클래스의 기본 구성 요소 어떤 기능을 가진 최소한의 작업단위 1)일반 메서드 : 객체가 생성되어야 호출 가능 2)정적 메서드 : 객체 생성 없이도 호출 가능 메서드의 종류 1. 매개변수 X 반환값 X 2. 매개변수 O 반환값 X 3. 매개변수 O 반환값 O 인스턴스화(=객체생성) 설계도에 해당되는 클래스를 가지고 멤버변수들이 저장할 수 있는 공간을 만드는 것 소스코드 - Car.java public class Car { //멤버변수 : 클래스 내부에 선언된 변수 String name;//이름 int output;//배기량 int year;..