TIL (22.05.16)
접근 제어자 private , protected, public public 하면 정보 은닉이라는 객체지향의 의미가 없어지므로, protected 를 씀 protected는 상속받지 않는 다른 클래스에서는 private와 같은 위치에 있다. A 클래스를 상속받은 subA에서는 pubic 함수와 protected 함수는 상속받지만, private는 상속받지 아니함. sub클래스가 상속을 받는 유형에 따라도 외부 함수에서 접근 가능성이 달라짐 예를들어 A함수의 protetced 멤버를 private로 상속하면 싹다 private로 바낌
2022.05.16
TIL (22.04.28)
문자열 문자열은 String 타입을 사용하므로, String 타입의 변수를 선언해야함. 문자열의 비교 두 문자열을 비교할 때 == 와 != 연산자를 사용하면 안된다. == 와 != 는 두 문자열의 내용을 검사하는 것이 아니라, 동일한 객체인지 검사하는 연산자이기 때문. 그래서 비교하는 메서드가 있다. String 클래스에서 제공하는 문자열 비교 메서드 int compareTo(String s) : 문자열을 사전 순으로 비교해 정수 값을 반환한다. int compareToIgnoreCase(String s) : 대,소문자를 무시하고, 문자열을 사전 순으로 비교한다. boolean equals(String s) : 주어진 문자열 s와 현재 문자열을 비교한 후 true, false를 반환한다. boolean ..
2022.04.29
TIL (22.04.19) 시험범위 4장 정리
4장 객체지향 프로그래밍 클래스 선언과 객체 생성 클래스이름 변수; 이때 클래스 이름은 변수의 타입, 클래스는 참조타입이므로, 참조 변수, 또는 참조 타입 변수라고 한다. new 연산자를 이용해서 객체를 생성하고 반환된 주소를 참조 변수에 집어넣음 package chap04; class Phone { String model; // default 값 : null int value; // default 값 : 0 void print() { System.out.println(value + "만원짜리 " + model + "스마트폰"); } } public class PhoneDemo { public static void main(String[] args) { Phone myPhone = new Phone();..
2022.04.20
TIL (22.04.17) 시험범위 정리 3장
제어문과 메서드 제어문 종류 조건문 조건식의 결과에 따라 여려 실행 경로 중 하나를 선택, if문, switch문 반복문 조건에 따라 같은 처리를 반복, for문, while문, do ~ while 문 분기문 실행 흐름을 무조건 변경, break문, continue문 조건문 조건에 따라 실행문을 선택할 때 사용 단순 if문 조건식이 true일 때만 실행문을 수행 조건식에는 true, false 를 산출할 수 있는 연신식, 논리값, 변수가 올 수 있음 조건식이 true 일 때 수행할 실행문이 하나라면, {}를 생략가능 다중 if문 조건식이 다양할 때 사용 if문 다음에 else if문을 연속 추가해 각조건을 차례대로 점검한 후 만족하는 실행문을 수행 if (조건식1) { 실행문(들); 조건식 1이 참일 때..
2022.04.17
TIL (22.04.14)
이 글은 과제 제출 기한이 지났기 때문에 풀이를 정리해도 될 것 같아 비공개 글에서 공개글로 전환하였습니다. 필자도 배우는 입장이라 틀린점, 잘못된 점이 있을 수 있습니다. 그러니 지적, 피드백 환영합니다. package assignment2_2; import java.util.Scanner; class Account { private String owner; private long balance; public String getOwner() { return owner; } public void setOwner(String owner) { this.owner = owner; } public long getBalance() { return balance; } public void setBalance(lon..
2022.04.17
TIL (22.04.16) 시험범위 정리 2장
2장 자바 프로그램 기본 구조 클래스 객체지향언어에서 프로그램을 개발하는 단위 적어도 하나의 클래스는 있어야 함 자바의 소스파일은 클래스 이름과 연관됨(Hello 클래스 생성 -> Hello.java 소스파일 생성) 클래스 이름은 대문자로 시작하는 것이 관례 클래스 내부에는 여러개의 메소드가 포함됨 메서드 수행할 작업을 나열한 코드의 모임 자바 애플리케이션은 main() 메서드를 포함하는 클래스가 반드시 있어야 함 따라서 main()메서드를 포함하는 클래스가 반드시 있어야 함 실행문 작업을 지시하는 번수선언, 값 저장, 메서드 호출 등의 코드화면에 문자, 숫자 등을 출력하는 실행문 System.out.println("안녕"); 주석문 행주석 // 범위 주석 /* */ 문서 주석 /** */ 식별자 규칙 ..
2022.04.16
TIL (22.04.16) 시험 범위 정리 1장
1장 프로그래밍 언어 컴퓨터와 인간 사이를 연결하는 매개체이며, 컴퓨터에 작업을 시키기 위한 도구. 고급언어 : C, C++ 자바 등 고급언어로 작성한 소스코드는 컴파일러라는 시스템 소프트웨어를 이용해서 먼저 기계어로 구성된 실행코드로 변환. #include main ( ) { print("Hello, world!"); } 컴파일러를 거치면 01010010101010101 10101001010101010 011010101001100110 이런 기계어로 바뀌어서 실행을 함(실제로는 다른 코드겠죠? 실행 안해봄) 자바 소개 역사 선마이크로시스템즈의 제임스 고슬링 자바의 전신은 1991년 그린 프로젝트로 탄생한 객체지향언어인 오크(Oak) 1993년 인터넷과 웹이 엄청난 속도로 발전 인터넷 환경에 적합하도록 ..
2022.04.16
TIL (22.04.13)
필자도 배우는 입장이라 틀린점, 잘못된 점이 있을 수 있습니다. 그러니 지적, 피드백 환영합니다. this와 this() 생성자에서 다른 생성자를 호출할 수 있도록 기존 생성자를 나타내는 this() 제공 this()를 사용하면 오버로딩된 생성자에서 생기는 중복코드를 없앨 수 있음 this() 사용시 생성자의 첫 행에 위치해야 함 public Circle() { // 오류 안남 this("빨강"); radius = 10.0; } public Circle() { // 오류 남 radius = 10.0; this("빨강"); }연속 호출 예를 들어 반환 타입이 void인 setName(String name), setAge(), sayHello()라는 메서드를 가진 Person 클래스가 있다고 가정 //연속호..
2022.04.13
TIL (22.04.08)
정적 메소드 (static ) 흔히 java 프로그래밍을 시작하면, 메인을 불러와서 뭔갈 할거다. 이거처럼 package sec06; public class Hello { public static void main(String[] args) { System.out.println("hello"); } }이렇게 해서 실행하면 hello가 출력되는 것을 볼 수 있다. 그런데 여기서 static 이 뭐지?라고 한다면 쉽게 말하면 여기에 포함된 애들은 어디서든 참조할 수 있고, 어디서든 쓸 수 있단 말. 그리고 얘네는 클래스가 메모리에 올라가면서 정적 메소드가 바로 생성되면서 따로 인스턴스를 만들 필요가 없음 뭔말이냐면 Triangle t1 = new Triangle을 안해도 된다는 말 call by refere..
2022.04.08