목록IT 일기 (상반기)/JAVA (71)
겉바속촉
예시 클래스를 생성한후에 main 메서드를 만들면 보통 다음과 같이 만들것이다. public class Sample { public static void main(String[] args){ System.out.println("Hello, World!") } } 1. main 메서드에 대해서 알아보자 main() 형태로 생김 만약 다르게 작성한다면 기본 메서드를 찾을 수 없다고 에러가 발생할 것이다. 👉이때 기본 메서드(main)를 작성하라고 뜰 것. 자바 프로그램이 실행되면 가장 먼저 찾는 것이 바로 메인 메서드이다. 길게 작성된 소스에서 그 프로그램의 시작이 어딘지 알 수 없으면 안되기 때문에 시작점을 알려주려는 용도라고 생각하자. (entry point는 main()) 2. parameters에 대..
Test라는 파일 하나를 만들어보자. 그럼 우리는 다음과 같은 코드 구성을 볼 수 있다. public class Test { public static void main(String[] args) { System.out.println("Hellow, World!") } } 그럼 하나하나씩 뜯어보쟈보쟈보쟈. (접근제한자)(클래스 선언)(클래스 이름) public class Test { (접근제한자) static (반환타입) (메스드이름) ((문자열)(배열)(변수명)){ public void main String [] args System.out.println("Hello,World"); //구현할 코드 작성 } } 그럼 위처럼 구성이 만들어 지는 것이다. 그리고 각각에 대해 살펴보자. (1) 접근제한자 --..
[ JAVA ] 컴파일 언어 실행되면서 어떻게 변화하는 지 알아두기!! 자바코드 작성 : Test.java 자바코드 컴파일 : Test.class (javac로 컴파일) 자바코드 실행 : java로 실행 [ Python ] 인터프리터 언어 실행되면서 자바와는 무엇이 다른지 알아두기!! 파이썬 코드 작성 파이썬 코드 실행 : Run
다형성이란 ?? - 여러 가지 형태를 가질 수 있는 능력 - 하나의 참조변수로 여러 타입의 객체를 참조할 수 있는 것 - 조상타입의 참조변수로 => 자손타입의 객체를 다룰 수 있는 것이 다형성 - 조상타입의 참조변수로 => 자손타입의 인스턴스 참조는 가능 - 자손타입의 참조변수로 => 조상타입의 인스턴스 참조는 불가능 - 서로 상속관계에 있는 타입간의 형변환만 가능 - 자손타입 => 조상타입 : 형변환 생략 가능 - 조상타입 => 자손타입 : 형변환 생략 불가 - 참조변수가 참조하는 인스턴스의 실제 타입을 체크할 때 사용 - 연산결과는 true, false - instanceof 연산결과가 true이면, 해당 타입으로 형변환 가능 - 멤버변수가 중복정의된 경우 : 참조변수 타입 따라 연결되는 멤버변수가 ..
접근 제어자란 ? 멤버 또는 클래스에 사용됨 외부로부터 접근을 제한함 클래스, 멤버변수, 메서드, 생성자에서 접근 제어자가 사용될 수 있음 접근제어자 -> public, protected, default, private 제어자 같은 클래스 같은 패키지 자손클래스 전체 public O O O O protected O O O default O O private O 대상 사용가능한 제어자 클래스 public, default, final, abstract 메서드 모든 접근 제어자, final, abstract, static 멤버변수 모든 접근 제어자, final, static 지역변수 final - 메서드에 static과 abstract 함께 사용불가 - 클래스에 abstract와 final을 동시 사용불가 -..
제어자란 ? 클래스, 변수, 메서드의 선언부에 사용되어 부가적인 의미 부여 접근제어자와 그 외의 제어자로 나뉨 하나의 대상에 여러 개의 제어자를 조합해서 사용하는 것이 가능 단, 접근제어자는 하나만 사용 가능 접근제어자 -> public, protected, default, private 그 외 -> static, final, abstract, native, transient, synchronized, volatile, strictfp 1. static 클래스의, 공통적인 멤버변수, 메서드, 초기화 블럭에서 사용 멤버변수 - 모든 인스턴스에 공통적으로 사용되는 클래스 변수가 됨 - 클래스변수는 인스턴스 생성하지 않고도 사용 가능 - 클래스가 메모리에 로드될 때 생성됨 메서드 - 인스턴스를 생성하지 않고도..
import 란 ? 사용할 클래스가 속한 패키지를 지정하는데 사용 import문을 사용하면 클래스를 사용할 때 패키지명을 생략할 수 있음 java.lang 패키지의 클래스 : import하지 않아도 사용 가능 (String, Object, System, Thread...) 패키지문과 클래스 선언 사이에 import문 선언
패키지란? 서로 관련된 클래스와 인터페이스의 묶음 물리적으로 폴더를 의미 서브패키지를 가질 수 있고 '.'으로 구분 클래스의 실제 이름은 패키지명이 포함된 것 : String 클래스의 full name은 java.lang.String rt.jar : Java API의 기본 클래스들을 압축한 파일 : JDK설치경로\jre\lib 하나의 소스파일에 둘 이상의 클래스가 포함된 경우, 모두 같은 패키지에 속하게 됨 모든 클래스는 하나의 패키지에 속함 // 패키지가 선언되지 않은 클래스는 자동적으로 디폴트 패키지에 속함 (디폴트 패키지 = 이름 없는 패키지) classpath 클래스파일 (*.class) 찾는 경로 구분자 => ';' 패키지가 포함된 폴더나 jar파일(*.jar) 나열 클래스패스가 없으면 자동적으..
인스턴스 자신을 가리키는 참조변수 인스턴스의 주소가 저장되어 있음 모든 인스턴스 메서드에 지역변수로 숨겨진 채로 존재 super란 ? this와 같은 개념. 조상의 멤버와 자신의 멤버를 구별하는 데 사용. 조상의 생성자 - 자손클래스의 인스턴스를 생성하면, 자손의 멤버와 조상의 멤버가 합쳐진 하나의 인스턴스가 생성됨. - 조상의 멤버들도 초기화되어야 하기 때문에 자손의 생성자의 첫 문장에서 조상의 생성자를 호출해야 함. - 호출하지 않으면 자동적으로 컴파일러가 super(); 를 생성자의 첫 줄에 삽입.