Ⅱ. Static 1. static(정적) 키워드 (필드) - 정적 멤버로 선언 ※ 정적 멤버 : 선언되는 순간부터 프로그램 종료시까지 존재하는 멤버 - 객체생성 없이 바로 사용 가능 (static 메모리 영역에 따로 저장됨) ※ 동적 할당(Dynamic Allocation) : c언어(자바)에서 힙 영역에 메모리를 할당받는 작업 → 참조자료형 기반으로 객체 생성 // Example 인스턴스 필드와 정적필드의 활용 방법 package sample; class A { int m = 3;//인스턴스 필드 (논스태틱 멤버) static int n = 5;//정적(static) 필드 (스태틱 멤버) } public class Main { public static void main(String[] args) { ..
Ⅰ. 접근지정자 (접근제어자) ※ 제어자 : 어떤 자원에 대해 기능을 제한하거나 확장하는 키워드 1. 멤버 및 생성자의 접근지정자 ※ 접근 지시 제어자 : 자원의 활동 범위를 지시함 - 멤버 및 생성자에서 사용되는 4가지 접근지정자 (public, protected, default, private) ※ default 는 아무것도 안 쓴 것이므로 사실상 접근지정자는 3개임 - 멤버 및 생성자에서 사용되는 4가지 접근지정자의 사용가능 범위 - 접근 가능한 범위 : public > 아무것도 안 쓴 것 > protected > private - public : 프로젝트의 아무 곳에서나 쓸 수 있음 - private : 클래스 바깥에서는 쓸 수 없음 - protected : 클래스 및 상속 관계에서는 쓸 수 있음..
Ⅱ. 외부클래스(external class) 1. 외부 클래스의 특징 - 클래스의 외부에서 정의 - 동일한 파일에 작성된 클래스는 동일한 패키지내의 클래스로 간주 - 하나의 파일에는 최대 하나의 public class만 존재가능 (파일 이름과 동일) ※ 하나의 파일에 작성된 외부클래스는 다른 패키지에서 사용 불가 ※ 다른 패키지에서 사용하고자 한다면 파일 분리
Ⅰ. 패키지(Package)와 임포트(Import) 0. 복습 - 클래스 : 참조자료형의 설계도 - 객체 : 참조자료형으로 참조하는 데이터 - 객체가 가지는 것 - 필드(속성, 내부 변수) : 객체가 가지고 있는 값(value) - 메소드 : 객체가 가지고 있는 기능(Function = Method) - 메소드 - 생정자 : 객체가 생성되는 순간(new)에 처리할 기능을 정의한 메소드 - 일반 메소드 : 객체의 기능을 정의한 코드 블록 (리턴타입, 메소드명, 매개변수, {몸통}) - 메소드 오버로딩 : 리턴 타입과 메소드명이 동일한 메소드를 여러 개 지정할 수 있는 것 1. 패키지(Package)와 임포트(Import) - 패키지(Package) : 프로젝트의 하위 폴더의 개념 - 클래스 파일을 목적별로..
Ⅳ. this 키워드와 this( ) 메소드 1. this 키워드 vs this( ) 메소드 - this 키워드 : 자신이 속한 클래스의 객체 - this( ) 메소드 : 자기 클래스 내부의 다른 생성자를 호출 // Example class Car { String color; String name; Car() { System.out.println("자동차 생긴 거 축하해"); } Car(String car, String color) { // this : 지금 이 메소드를 호출한 객체 (soul이면 soul.name이 됨) // this() : 지금 이 메소드를 호출한 객체의 생성자 // this가 붙으면 필드, 안 붙으면 매개변수 this();// 이렇게 하면 위에 Car()를 호출함 (오버로딩) // ..
Ⅲ. 생성자 1. 클래스의 생성자 - 생성자 - 참조 자료형의 기반의 데이터가 생성될 때 호출되는 메소드 - 객체가 생성되는 그 순간(new)에 실행할 기능을 정의 2. 생성자의 2가지 특징 - 클래스의 이름과 동일 - 반환(리턴)타입이 존재하지 않음 ※ 생성자는 내가 쓰지 않아도 컴파일러가 자동 생성 (생성자 안에 내용이 있을 경우는 제외) 3. 생성자의 주요 역할 - 객체 생성 및 필드 초기화 - 생성자를 정의하지 않는 경우 → 기본 생성자의 자동 추가 ※ 모든 클래스는 생성자를 포함 // Example class Car { String color; String name; Car(String car) { System.out.println(car + " 자동차를 살까"); } Car() { System..