목록전체 글 (151)
ultra_dev
☑️ 객체 지향 프로그래밍 객체들을 만들고 조합해서 프로그래밍을 설계, 완성하는 기법 객체간 상호작용으로 동작 ☑️ 객체 : 물리적으로 존재하거나 개념적인 것 중에서 다른 것과 식별 가능한 것 속성과 동작으로 구성 필드와 메소드로 구성 객체간의 관계 집합 관계 : 자동차와 부품같은 관계. 작은 객체들을 모아 큰 객체를 만듦 사용 관계 : 다른 객체의 필드를 읽고, 변경하거나 메소드를 호출하는 관계 ex)사람과 계산기 상속 관계 : 부모 자식 관계 ex) 자동차와 기계 매개값(parameter) : 메소드가 실행할 때 필요한 값 리턴값 : 메소드의 실행의 결과, 호출한 곳으로 돌려주는 값 ☑️ 객체 지향 프로그램의 특징(캡슐화, 상속, 다형성) 캡슐화 : 외부객체에서 사용하는 객체의 동작을 알지 못하는 상..
☑️ 참조타입 : 객체의 번지를 참조하는 타입(배열, 열거 , 클래스, 인터페이스) 객체 = 데이터(필드) + 메소드 기본타입 변수는 값 자체를 저장하고 있지만 참조타입 변수는 객체가 생성된 메모리 번지를 저장 ex) int age = 15; String name = “웅”; Stack 영역 age 15 name 100 age는 15라는 값 자체를 가지고 있지만 name의 100은 -> 힙 영역의 100번지에 존재하는 String 객체 “웅”을 참조한다는 뜻임 ☑️ JVM 구동 → 운영체제에서 메모리 할당 받음 → 이때 메모리는 메소드, 힙, 스택으로 구분 메소드 영역 클래스 별로 저장. 바이트 코드 파일(.class)의 내용이 저장되는 영역 ex)상수, 정적 필드, 메소드 코드 , 생성자 코드 힙 영역..
CH 3 연산자 ☑️ 부호 연산자 + (부호 유지) - (부호 반대로 변경) ❗ 부호 연산자도 연산이므로 int 타입 변수에 대입 byte b = 100; byte result = -b; // 컴파일 에러 byte b = 100; int result = -b; // OK ☑️ 오버플로우(타입 허용 최대값을 벗어남) / 언더플로우(타입 허용 최솟값을 벗어남) 정수 타입 연산에서 오버플로우 / 언더플로우가 발생 시 실행에러 발생 하지 않는다. 해당 정수 타입의 최솟값 또는 최대값으로 변경된다. ☑️ 연산은 정수 연산이 정확하다. 부동 소수점 방식인 실수는 부정확함 ex) double 0.1 == float 0.1f 하면 결과는 false ☑️ for 문의 초기화 식에는 실수 사용하지 않는다. 부정확함 ☑️논..
CH 1 ☑️컴파일 → java와 같은 고급언어(인간 친화적)를 기계어(0,1)로 변환 ☑️ 자바 프로그램 실행 단계 소스파일(.java) → 컴파일 → 바이트 코드 파일(.class) → java 명령어 → JVM 구동 ☑️ .class 바이트 코드 파일을 실제로 실행하는 것 ☑️컴파일러가 실행할 때, classpath(환경변수)에 있는 것(파일들)만 찾아서 실행함 CH 2(변수와타입) ☑️ 변수 초기화 : 변수에 최초로 초기값 넣어주는 행위 ☑️ 리터럴 : 연산자의 우측에 프로그래머가 입력한 ☑️ 유니코드가 정수라 char도 정수타입인 것 ☑️ 기본적으로 실수 리터럴은 double로 잡힘, float타입을 원하면 뒤에 f 또는 F를 붙혀야 됨 ☑️ char ‘ ‘ Char “ “ ☑️ 실수 → 정수 ..