본문 바로가기

728x90
반응형

JAVA

(43)
자바(JAVA) : 패키지(package), 임포트(Import), 클래스패스(ClassPath) 패키지(package)란? 자바에서 패키지(package)란 클래스와 인터페이스의 집합을 의미한다 이렇게 서로 관련이 있는 클래스나 인터페이스를 함께 묶음으로써 파일을 효율적으로 관리할 수 있게 된다. 또한, 협업 시 서로 작업한 클래스 사이에서 발생할 수 있는 이름 충돌 문제까지도 패키지를 이용하면 피할 수 있다. 자바에서 패키지(package)는 물리적으로 하나의 디렉터리를 의미한다. 따라서 하나의 패키지에 속한 클래스나 인터페이스 파일은 모두 해당 패키지 이름의 디렉터리에 포함되어 있다. 이러한 패키지는 다른 패키지를 포함할 수 있으며, 이때 디렉터리의 계층 구조는 점(.)으로 구분된다. 즉, 패키지는 비슷한 성격의 자바 클래스들을 모아 놓은 자바의 디렉토리이다. 패키지 사용 자바 소스 파일에서 이..
자바(JAVA) : 추상 클래스, 메소드, 인터페이스, final, 오브젝트 추상 클래스(Abstract Class) //추상클래스 선언방법 abstract class 클래스이름{ } 추상 클래스는 클래스를 만들기 위한 일종의 설계도로 인스턴스를 생성할 수 없는 클래스이다. 이를 사용하기 위해서는 반드시 자식 클래스에서 상속을 받아 클래스를 모두 구현해야만 한다. 이런 추상클래스는 반드시 하나 이상의 추상 메서드를 포함하고 있으며, 생성자와 멤버변수, 일반메서드 모두를 가질 수 있다. ​ 1) 자체 인스턴스 생성 불가능 2) 생성자와 멤버변수, 일반 메서드 모두를 가질 수 있다. 3) 하나 이상의 추상 메서드를 포함한다. 추상 메서드(Abstract Method) abstract 리턴타입 메서드이름(); 추상클래스는 메서드의 선언부만 작성하고 구현부는 미완성인 채로 남겨두는 메소..
자바(JAVA) : this, this(), super, super() this 키워드 클래스 생성에 흔히 많이 사용되는 키워드 중 하나로 '객체, 자기 자신'을 나타내는 명령어 입니다. ​ 사용은 총 3가지 형태로 사용되며, 대부분 호출한 객체를 명확히 하기위해 사용된다. ​ * 클래스의 속성과 매개변수의 이름이 같을 때 public Class Test{ int a; public void Test(int a){ this.a = a; } } 위 소스에서는 생성자에서 클래스 속성인 a를 매개변수 a로 초기화해주고 있다. 근데 만약 이를 a = a로 나타내면 어떻게 될까? ​ 답은 '초기화되지 않는다' 입니다. 만약 이처럼 this를 사용하지 않을 경우, a는 스코프에 위해서 [매개변수a = 매개변수a] 라는 식을 가지게 되고 결과적으로 객체의 값 자체는 초기화 되지 않게 됩니..
자바(JAVA) : 상속(inheritance) 상속(inheritance)이란? 상속(inheritance)이란 기존의 클래스에 기능을 추가하거나 재정의하여 새로운 클래스를 정의하는 것을 의미합니다. 이러한 상속은 캡슐화, 추상화와 더불어 객체 지향 프로그래밍을 구성하는 중요한 특징 중 하나입니다. 상속을 이용하면 기존에 정의되어 있는 클래스의 모든 필드와 메소드를 물려받아, 새로운 클래스를 생성할 수 있습니다. 이때 기존에 정의되어 있던 클래스를 부모 클래스(parent class) 또는 상위 클래스(super class), 기초 클래스(base class)라고도합니다. 그리고 상속을 통해 새롭게 작성되는 클래스를 자식 클래스(child class) 또는 하위 클래스(sub class), 파생 클래스(derived class)라고도 합니다. 쉽게 ..
자바(JAVA) : this, this() this this 참조 변수는 인스턴스가 바로 자기 자신을 참조하는 데 사용하는 변수입니다. 객체 즉, 자기 자신을 나타낸다. 이러한 this 참조 변수는 해당 객체의 주소를 가리키고 있습니다. class Car { private String modelName; private int modelYear; private String color; private int maxSpeed; private int currentSpeed; Car(String modelName, int modelYear, String color, int maxSpeed) { this.modelName = modelName; this.modelYear = modelYear; this.color = color; this.maxSpeed =..
자바(JAVA) : 클래스 클래스(class) 자바에서 클래스(class)란 객체를 정의하는 틀 또는 설계도와 같은 의미로 사용됩니다. 자바에서는 이러한 설계도인 클래스를 가지고, 여러 객체를 생성하여 사용하게 됩니다. 클래스는 객체의 상태를 나타내는 필드(field)와 객체의 행동을 나타내는 메소드(method)로 구성됩니다. 즉, 필드(field)란 클래스에 포함된 변수(variable)를 의미합니다. 또한, 메소드(method)란 어떠한 특정 작업을 수행하기 위한 명령문의 집합이라 할 수 있습니다. - 클래스 작성 규칙 숫자로 시작하지 않는다 첫글자는 대문자로 시작한다 일반적으로 카멜 케이스(둘 이상의 단어가 연결 되었을 때, 두번째 단어의 첫글자는 대문자)를 사용한다 class Student class CityCode cl..
JAVA 제어문 : 반복문(for, while) 반복문(Looping Statement) 어떠한 코드가 반복적으로 사용 될 때 사용되는 구문이다. for 프로그래머가 설정한 조건이 만족 될 때까지 지정한 코드 블럭이 계속해서 수행된다. 카운팅을 할 수도 있겠지만, 배열 혹은 컬렉션 안에 저장되어 있는 값을 순회 할 때도 많이 사용된다. for(초기식; 조건식; 증감식) { 반복 될 코드; } JDK 5.0 이상부터 배열 혹은 컬렉션의 순회시에 다음과 같이 조금 더 향상된 for 문을 사용할 수 있다. for(타입 변수명 : 배열/컬렉션) { 반복 될 코드; } foreach 스타일 for문 : 어떤 컬렉션이든 순회할 수 있음 Effetive java - item 46 : for문보다는 for-each를 사용하라 for-each문은 반복자나 인덱스 변수..
JAVA 제어문 : 조건문(if) , 선택문(switch) 제어문 제어문 : 코드의 실행 흐름(순서)을 제어하는 구문 ↔ 순차문 : 코드가 작성된 순서대로 실행되는 문장 조건문 조건에 따라 코드의 실행 흐름을 제어하는 구문 If문 조건식의 진리값이 참인 경우 코드를 실행 형식) if(조건식) 처리할 문장 조건식에는 변수, 수식(관계, 논리연산자) 등이 들어갈 수 있음 사용례 public class IfTest { public static void main(String[] args) { int su = 30; if (su % 2 == 0) { System.out.println(su+"은(는) 짝수입니다."); } if (su % 2 == 1) { System.out.println(su+"은(는) 홀수입니다."); } // 30은(는) 짝수입니다. /* 30은 2로..

728x90
반응형